Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于子类jQuery隐藏html元素_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 基于子类jQuery隐藏html元素

Javascript 基于子类jQuery隐藏html元素,javascript,jquery,forms,Javascript,Jquery,Forms,我有两个表单(登录和注册),其中一个在页面加载时隐藏(登录表单隐藏)。用户可以通过按钮在它们之间切换。当登录失败时,它抛出一个错误,并显示在登录表单中。问题是当登录失败后加载页面时,它会隐藏登录表单并显示注册表表单。只有当用户单击“登录表单”按钮时,才会显示错误。我想显示重新加载页面时出错的表单 $(document).ready(function(){ $('#login_form').hide(); }); 这是我的登录表 <form action="/login" met

我有两个表单(登录和注册),其中一个在页面加载时隐藏(登录表单隐藏)。用户可以通过按钮在它们之间切换。当登录失败时,它抛出一个错误,并显示在登录表单中。问题是当登录失败后加载页面时,它会隐藏登录表单并显示注册表表单。只有当用户单击“登录表单”按钮时,才会显示错误。我想显示重新加载页面时出错的表单

$(document).ready(function(){
    $('#login_form').hide(); 
});
这是我的登录表

<form action="/login" method="post" id="login_form">
 {{csrf_field()}}

<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
<input type="text" name="email" id="login_email" placeholder="Email"/>
 @if ($errors->has('email'))
 <span class="help-block">
  <strong>{{ $errors->first('email') }}</strong>
 </span>
 @endif
</div>

 <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
  <input type="password" name="password" id="login_pass" placeholder="Password"/>
  @if ($errors->has('password'))
 <span class="help-block">
  <strong>{{ $errors->first('password') }}</strong>
 </span>
  @endif
  </div>

  <div class="form-group">
   <input type="submit" class="btn" id="login_sbt_btn" value="Login"/>
  </div>

 </form>

$
返回类似数组的对象。您必须检查
length
属性,如下所示:

var $errorField = $('.has-error');      
if($errorField.length != 0) {                      
    $('form').hide();                   
    $errorField.closest('form').show(); 
} else {
    $('#login_form').hide();            
}

为什么不将错误元素移到两个表单之外(与提交按钮的级别相同)?@NaveenKumar
if($errorField)
将始终为
true
(即使未找到任何元素)<代码>$将始终返回一个对象(对象永远不会出错)。
var $errorField = $('.has-error');      
if($errorField.length != 0) {                      
    $('form').hide();                   
    $errorField.closest('form').show(); 
} else {
    $('#login_form').hide();            
}