javascript - 检查以确保所有字段均已填写 Jquery

标签 javascript jquery validation input

我正在尝试在 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。

提前致谢

最佳答案

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

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

添加了代码来检查输入是否已填充并启用或禁用 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()
<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>

关于javascript - 检查以确保所有字段均已填写 Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42347384/

相关文章:

javascript - 如何正确调用由 filepicker 触发的 onChange 事件?

asp.net - .toggle(true) 在 $(document).ready(function()) 中抛出 null

android - 如何在android中移动验证消息或密码切换

javascript - CodeMirror - 从编辑器外部获取 linting 结果

JavaScript - 如何从上到下滚动 li 元素

javascript - 为什么我的 javascript 函数失败?

php - 处理 POST 请求

php - 在不打扰用户的情况下阻止 PHP 站点中的垃圾邮件

javascript - Ace Editor 在 <head> 标签内生成 CSS 样式

javascript - Express JS 的 session.generate() 函数的源代码在哪里?