簡體   English   中英

檢查以確保所有字段都已填寫

[英]Check to make sure all fields are filled Jquery

我正在嘗試在jquery中為我的輸入字段創建一個簡單的驗證器。 目前我得到以下內容:

function checkInputs(){
var isValid = true;
$('.input-required').each(function() {
     if($(this).val() === ''){
        isValid = false;
         return false;
     }        
 });
return isValid;
}

然后我得到了一個正確的按鈕,它是:

$('#confirm').click(function () { 
    alert(checkInputs());
});

但是,即使輸入為空,也始終返回true。 同樣,在完成所有輸入后,將啟用一個按鈕來單擊。

編輯了它,使其現在具有選擇器,但仍然始終為true。

提前致謝

嘗試使用filter屬性來獲取具有required屬性的輸入。

$('input').filter('[required]')

添加了代碼以檢查輸入是否已填充以及啟用或禁用button 請注意,如果使用此選項,則$('#confirm').click(function());不大$('#confirm').click(function()); 功能,因為僅當輸入被填充時,此按鈕才會啟用。

 function checkInputs() { var isValid = true; $('input').filter('[required]').each(function() { if ($(this).val() === '') { $('#confirm').prop('disabled', true) isValid = false; return false; } }); if(isValid) {$('#confirm').prop('disabled', false)} return isValid; } $('#confirm').click(function() { alert(checkInputs()); }); //Enable or disable button based on if inputs are filled or not $('input').filter('[required]').on('keyup',function() { checkInputs() }) checkInputs() 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form> <input required> <input required> <input required> <button id="confirm">check</button> </form> 

嘗試通過以下方式定位元素: $('input[required]')

這應該可以解決問題。

您的選擇器正在尋找顯然不存在的tagName <input-required></input-required>

為課程添加點前綴

也可以使用filter()來簡化

function checkInputs(){
    return !$('.input-required').filter(function() {
         return !this.value;   
     }).length;
}

注意:如果單選框或復選框是該類元素集合的一部分,則將無法使用,並且在這種情況下,您需要為類型添加條件

如果為0,則所有輸入已填充,否則將返回0,表示任何一個或多個為空輸入。

 function checkInputs(){
  var flag = 0;
  $('input').each(function() {
       if($(this).val() == ''){
         return flag = 1;
       }
   });
  return flag;
  }
  $('#confirm').click(function () {
      alert(checkInputs());
  });

您忘記將類符號放在jQuery中:

function checkInputs() {
    var isValid = true;
    $('.input-required').each(function() {
     if($(this).val() === ''){
        isValid = false;
         return false;
     }        
  });

  return isValid;
}

嘗試這個..

暫無
暫無

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

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