检查以确保所有字段都已填充 Jquery

Wes*_*ans 2 javascript validation jquery input

我正在尝试在 jquery 中为我的输入字段制作一个简单的验证器。目前我得到以下信息:

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

然后我得到了一个正确的按钮,它是这样的:

$('#confirm').click(function () { 
    alert(checkInputs());
});
Run Code Online (Sandbox Code Playgroud)

但即使输入为空,这也始终返回 true。同样在此工作之后,如果所有输入都已填写,将启用一个按钮以单击。

编辑它现在有一个选择器,仍然总是正确的。

提前致谢

Car*_*sen 5

尝试使用 filter 属性来获取具有required属性的输入。

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

添加了用于检查输入是否已填充以及 enable 或 disable 的代码button。请注意,如果我们使用它,则该$('#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()
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)