Javascript 检查输入框数组是否不为空

Javascript 检查输入框数组是否不为空,javascript,jquery,html,submit,Javascript,Jquery,Html,Submit,最好是在jQuery中这样做,通过简单的验证来检查输入框是否为空。但是,这些是输入框的动态数组。代码应该更有意义: <input type="text" id="qtn" name="question" /> <input type="text" name="answer[]" /> <button type="button" id="btn"> Save </button> 对于answer[]输入类型,这将是如何工作的,因为将有一个动态的答案

最好是在jQuery中这样做,通过简单的验证来检查输入框是否为空。但是,这些是输入框的动态数组。代码应该更有意义:

<input type="text" id="qtn" name="question" />
<input type="text" name="answer[]" />
<button type="button" id="btn"> Save </button>
对于
answer[]
输入类型,这将是如何工作的,因为将有一个动态的答案数量,并希望确保用户选择了多少答案,所有这些框都已填充


谢谢

您可以使用
filter()
方法在
表单中查找任何空文本框。还请注意,您应该在提交
表单时执行此检查,而不是单击按钮,因为当焦点位于文本框上时,有人可以通过按返回键提交表单。试试这个:

$('form').submit(function(e) {
    var $emptyFields = $(this).find(':text').filter(function() {
        return this.value.trim() == '';
    });

    if (!$emptyFields.length) {
        e.preventDefault(); // stop the form submission
        alert('Please fill out all fields');
    } else {
        $form.submit();
    }
}); 

您可以使用
filter()
方法查找
表单中的任何空文本框。还请注意,您应该在提交
表单时执行此检查,而不是单击按钮,因为当焦点位于文本框上时,有人可以通过按返回键提交表单。试试这个:

$('form').submit(function(e) {
    var $emptyFields = $(this).find(':text').filter(function() {
        return this.value.trim() == '';
    });

    if (!$emptyFields.length) {
        e.preventDefault(); // stop the form submission
        alert('Please fill out all fields');
    } else {
        $form.submit();
    }
}); 
像这样试试

$('#btn').click(function () {
   var checkValidate = false;
   $('input[type=text]').each(function() {
          if(!$.trim($(this).val())){
            alert('Some fields are empty');
            checkValidate = true;
            return false;
          }
   });
   if(!checkValidate) {
      $('#form').submit();
   }
});
像这样试试

$('#btn').click(function () {
   var checkValidate = false;
   $('input[type=text]').each(function() {
          if(!$.trim($(this).val())){
            alert('Some fields are empty');
            checkValidate = true;
            return false;
          }
   });
   if(!checkValidate) {
      $('#form').submit();
   }
});

是的,正如Rory McCrossan的回答,过滤器是一种选择。我只是修改了目标,实际的文本框是空的


是的,正如Rory McCrossan的回答,过滤器是一种选择。我只是修改了目标文本框的实际值为空。

你的意思是,它应该验证所有的输入框吗?你的意思是,它应该验证所有的输入框吗?回答不错,喜欢使用过滤器。我还建议在要验证的输入中添加一个“required”类,以便排除以后可能有的非必填字段。您还可以向emptyfields添加一个“error”类,以突出显示用户的错误。这似乎会导致我的表单在单击表单区域内的任何位置时实际提交?即使在输入文本框内单击?回答不错,喜欢使用过滤器。我还建议在要验证的输入中添加一个“required”类,以便排除以后可能有的非必填字段。您还可以向emptyfields添加一个“error”类,以突出显示用户的错误。这似乎会导致我的表单在单击表单区域内的任何位置时实际提交?甚至在输入文本框内单击时?