当页面在laravel中重新加载时隐藏非活动表单

时间:2017-01-27 18:36:59

标签: javascript jquery laravel

我在同一个面板中有两个表单(用户注册和登录),其中两个标题是Register和login。当按下在登录表单和注册表单之间切换时。 像这样

<div class="panel-heading">
 <div id="register_div" >
  <a href="#" id="register_btn" class="text-center">Register</a>
 </div>
 <div id="login_div">
  <a href="#" id="login_btn" class="text-center" >Login</a>
 </div>
</div>

这样的两种形式

<div class="panel-body">
 <form action="/register" method = "post" id = "reg_form">
 </form>
<form action="/login" method="post" id="login_form">
</form>
</div>

当页面加载时,登录表单被隐藏,注册表单显示为javascript

$('#login_form').hide();

问题是提交登录表单并返回登录错误时,页面重新加载和登录错误隐藏在登录表单中,默认情况下会显示注册表单。现在,当我按下登录表单选项卡时,会附加登录错误。如何在登录错误出现时显示登录表单并与注册表单相同?完整代码共享here以便更好地理解

2 个答案:

答案 0 :(得分:0)

您可以使用localStorage。

在页面加载时你会这样做:

var formShowing = localStorage.getItem("formShowing");
if(formShowing && formShowing === "login"){
   $('#reg_form').hide();
}
else{ 
   $('#login_form').hide();
}

点击按钮:

      localStorage.setItem("formShowing","register");
      localStorage.setItem("formShowing","login");

答案 1 :(得分:0)

试试这个:

var $errorField = $('.has-error');      //get field with error
if($errorField) {                       // if there is a field with error
    $('form').hide();                   //hide all forms first
    $errorField.closest('form').show(); //show the one with an error
} else {
    $('#login_form').hide();            //default logic
}