1

我正在使用外部验证库来检查是否填写了字段。这工作正常。

然后,当所有字段都已正确填写并且用户点击提交时,我想显示一个警报。

这是代码:

<select id="selectsizes" class="required">
  <option></option>
  <option>1</option>
  <option>2</option>
</select>
<input type="Text" id="txtName" name="Name" value="" class="required">

$(document).ready(function(){
  $("#Form").submit(function() {
    if ($('.required').val() != "") {
      alert("Thank you.");
      return false;
    }
  });
});

我在原始表单中有更多的字段,这只是为了解释。如果我从选择中选择一个选项或填写输入字段,则警报将在按下提交时触发。在所有验证错误消失之前,它不应该触发。

4

2 回答 2

1

您需要单独检查每个输入的值,然后检查它们是否都有值等,如下所示:

$(document).ready(function () {
    $("#Form").submit(function () {
        var val = $.map($('.required'), function (el, i) {
            if (!$.trim(el.value).length) return el;
        });
        if (!val.length) {
            alert("Thank you.");
            return false;
        }
    });
});

小提琴

于 2013-03-04T15:08:44.710 回答
0

创建一个 var,例如var error = false;

循环浏览所有输入并选择是否有未填充的输入将 var 设置为 trueerror = true;

最后:

if (!error) {
  alert("Thank you.");
  return false;
}

您可以通过以下方式循环浏览您的必填字段:

$('.required').each(function() {
  //DO STUFF
  if ($(this).val() == "") {
    error = true;
  }
});
于 2013-03-04T15:08:39.290 回答