簡體   English   中英

根據其子類jQuery隱藏html元素

[英]Hiding html elements based on its child class jQuery

我有兩種形式(登錄和注冊),其中一種在頁面加載時被隱藏(隱藏登錄形式)。 用戶可以使用按鈕在它們之間切換。 登錄失敗時,將引發錯誤,並以登錄形式顯示。 問題是登錄失敗后頁面加載時,它會隱藏登錄表單並顯示“注冊”表單。 僅當用戶單擊登錄表單按鈕時,它才會顯示錯誤。 我想顯示重新加載頁面時出現錯誤的表單。

$(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>

僅當表單中存在錯誤時,才添加help-block

這很好用,但是在第一次加載頁面時它會隱藏所有表單。

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

$返回類似數組的對象。 您必須像這樣檢查length屬性:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM