2016-06-14 61 views
0

我在同一页面中有两种形式,当点击图标时出现一个,登录消失并显示注册。我使用弹簧MVC,所以我想在输入/注册切换窗体工作的功能。当进入其他web服务时切换JavaScript功能URL

<!DOCTYPE html> 
<html xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <meta charset="UTF-8"/> 
    <title>Login Form</title> 

    <link rel="stylesheet" th:href="@{/css/bootstrap.min.css}" 
      href="../static/css/reset.css"/> 

    <link rel='stylesheet prefetch' 
      href='http://fonts.googleapis.com/css?family=Roboto:400,100,300,500,700,900|RobotoDraft:400,100,300,500,700,900'/> 
    <link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'/> 

    <!--<link rel="stylesheet" href="../static/css/style.css"/>--> 
    <link rel="stylesheet" th:href="@{/css/style.css}" 
      href="../static/css/style.css"/> 


</head> 

<body> 


<!-- Mixins--> 
<!-- Pen Title--> 

<div class="container"> 
    <div class="card"></div> 
    <div class="card"> 
     <h1 class="title">Login</h1> 
     <form action="login" th:action="@{/login}" th:object="${login}" method="post" > 
      <div class="input-container"> 
       <input type="email" id="email" th:field="*{email}" required="required"/> 
       <label for="email">email</label> 
       <div class="bar"></div> 
      </div> 
      <div class="input-container"> 
       <input type="password" id="Password" th:field="*{password}" required="required"/> 
       <label for="Password">Password</label> 
       <div class="bar"></div> 
      </div> 
      <div class="button-container"> 
       <button type="submit" name="action" value="login"><span>Go</span></button> 
      </div> 
      <div class="footer"><a href="#">Forgot your password?</a></div> 
     </form> 
    </div> 
    <div class="card alt"> 
     <div class="toggle"></div> 
     <h1 class="title">Register 
      <div class="close"></div> 
     </h1> 
     <form action="register" th:action="@{/register}" th:object="${register}" method="post"> 
      <div class="input-container"> 
       <input type="text" id="firstName" th:field="*{firstName}" required="required"/> 
       <label for="firstName">First Name</label> 
       <div class="bar"></div> 
      </div> 

      <div class="input-container"> 
       <input type="text" id="lastName" th:field="*{lastName}" required="required"/> 
       <label for="lastName">Last Name</label> 
       <div class="bar"></div> 
      </div> 

      <div class="input-container"> 
       <input type="email" id="email_" th:field="*{email}" required="required"/> 
       <label for="email">Email</label> 
       <div class="bar"></div> 
      </div> 
      <div class="input-container"> 
       <input type="password" id="Password_" th:field="*{password}" required="required"/> 
       <label for="Password">Password</label> 
       <div class="bar"></div> 
      </div> 
      <div class="button-container"> 
       <button type="submit" name="action" value="register"><span>Next</span></button> 
      </div> 
     </form> 
    </div> 
</div> 
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> 

<script th:src="@{/js/index.js}"></script> 


</body> 
</html> 

JavaScript代码:

$('.toggle').on('click', function() { 
    $('.container').stop().addClass('active'); 
}); 

$('.close').on('click', function() { 
    $('.container').stop().removeClass('active'); 
}); 

我想例如进入/注册它检索登记表,而不是登陆

+0

GitHub上的示例项目将帮助我们理解问题。 –

+0

好吧,我已经添加了问题中的代码:) –

+1

我看到两种使用不同动作端点的表单。登录表单使用“/ login”端点。注册表格使用“/注册”端点。这应该工作得很好。你有什么具体问题? GitHub上的完整示例就是需要的。 –

回答

0

一种方法是创建一个/注册控制器将返回一个参数:

@RequestMapping("/register") 
public ModelAndView register() { 
    ModelAndView mv = new ModelAndView("your_form_page") 
    mv.addObject("isRegister", true); 
    return mv; 
} 

然后你就可以添加一个隐藏字段,并用它在JavaScript切换的div:

<!DOCTYPE html> 
<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" 
    xmlns:th="http://www.thymeleaf.org"> 

    <head> 
     <!-- imports omitted --> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       if ($("#isRegister").val()) { 
        $("#register").show(); 
        $("#signUp").hide(); 
       } else { 
        $("#register").hide(); 
        $("#signUp").show(); 
       } 
      }); 
     </script> 


    </head> 

    <body> 
     <input id="isRegister" type="hidden" th:value="${isRegister}" disabled="disabled"/> 


     <div id="signUp"> 
      Sign Up Form 
     </div> 
     <div id="register"> 
      Register Form 
     </div> 

    </body> 
</html> 

当然你也可以的JavaScript代码片段移动到你的“的.js”文件。这里重要的是有隐藏的输入字段,可以在Javascript中访问切换DIV。

+0

感谢它工作:) –