Javascript jQuery-验证

Javascript jQuery-验证,javascript,jquery,Javascript,Jquery,我的验证过程有问题。我没有使用标准的“提交”按钮,而是使用Print和jQuery来监听点击。这是单击“按钮”时我得到的验证代码: var validation = ""; function validate() { $("#servDetails").find("input").each(function () { if ($(this).prop("required") && $(this).val() == "") { validation = fa

我的验证过程有问题。我没有使用标准的“提交”按钮,而是使用
Print
和jQuery来监听点击。这是单击“按钮”时我得到的验证代码:

var validation = "";
function validate() {
  $("#servDetails").find("input").each(function () {
    if ($(this).prop("required") && $(this).val() == "") {
      validation = false;
      }
    else {
      validation = true;
      }
    });

  $("#checklist").find("input[required]").each(function () {
    if ($(this).prop("required") && $(this).val() == "") {
      validation = false;
      }
    else {
      validation = true;
      }
    });
  }

$("#print").on("click", function() {
  validate();

  if (validation == false) {
    alert("Please fill out all required inputs!");
    return false;
    }
  else {
    window.print();
    }
  });
如果我单击按钮而不填写任何内容(所有项目均为空),我将收到预期的
警报

如果我填写了所有必需的元素,它会按预期调出打印拨号


但是,如果我将某些框留空,而其他框已正确填充,它仍将打印,而不是像我需要的那样给我发出
警报。有什么想法吗?

必须重写代码,或者最好用任何验证插件替换它

但在你的情况下,我想,你只是忘记返回,以防你发现一些未填充的字段。因此,如果有任何填充输入,它将覆盖验证变量

最简单的解决办法是删除
else{validation=true;}
code块,然后添加

validation = true;
在函数的边缘