【问题标题】:Hiding inactive form when page reloads in laravel在laravel中重新加载页面时隐藏非活动表单
【发布时间】:2017-01-28 02:49:25
【问题描述】:

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

<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以便更好地理解

【问题讨论】:

标签: javascript jquery laravel


【解决方案1】:

你可以使用 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");

【讨论】:

    【解决方案2】:

    试试这个:

    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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多