javascript - 当我使用 javascript 有 5 个字段时,如何验证表单中的单个字段?

标签 javascript jquery forms

我有一个包含四个字段的表单,当所有字段都为空并单击提交按钮时 - 它应该提示“请选择至少一个值”。

当我在任何字段中输入值时,表单应该被提交。我尝试了以下代码,但它不起作用

function validatefleid() {
  var computername = document.myform.computername.value;
  var monitorname = document.myform.monitorname.value;
  var tvname = document.myform.tvname.value;
  var laptopname = document.myform.laptopname.value;
  var cellphonename = document.myform.cellphonename.value;
  if ((computername == null || computername == "") || (monitorname == null || monitorname == "") || (tvname == null || tvname == "") || (laptopname == null || laptopname == "") || (cellphonename == null || cellphonename == "")) {
    alert("Please atleast one value");
    return false;
  }

}
<form name="myform" onsubmit="return validatefleid()">
  computer
  <input type="text" class="form-control inpt-bx-txtclr-home" name="computername" id="computerid" placeholder="000">monitor
  <input type="text" class="form-control inpt-bx-txtclr-home" name="monitorname" id="monitorid" placeholder="000">tv
  <input type="text" class="form-control inpt-bx-txtclr-home" name="tvname" id="tvid" placeholder="000">laptop
  <input type="text" class="form-control inpt-bx-txtclr-home" name="laptopname" id="laptopid" placeholder="000">cellphone
  <input type="text" class="form-control inpt-bx-txtclr-home" name="cellphonename" id="cellphoneid" placeholder="000">

  <button type="submit">Calculate</button>
</form>

最佳答案

可以通过遍历表单中的所有 input,并查找至少一个 input 的值不同于 ''。查看演示:

$(function(){
  var $form = $('#myform');
  $form.submit(function(){
    var valid = false;
    $('input', $form).each(function(){
      if($(this).val() != ''){
        valid = true;
      }
    });
    if (!valid) {
      alert("Please atleast one value");
    }
    return valid;
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform" name="myform">


computer<input type="text" class="form-control inpt-bx-txtclr-home" name="computername" id="computerid" placeholder="000">
monitor<input type="text" class="form-control inpt-bx-txtclr-home" name="monitorname" id="monitorid" placeholder="000">
tv<input type="text" class="form-control inpt-bx-txtclr-home" name="tvname" id="tvid" placeholder="000">
laptop<input type="text" class="form-control inpt-bx-txtclr-home" name="laptopname" id="laptopid" placeholder="000">
cellphone<input type="text" class="form-control inpt-bx-txtclr-home" name="cellphonename" id="cellphoneid" placeholder="000">

<button  type="submit" >Calculate</button>

</form>

关于javascript - 当我使用 javascript 有 5 个字段时,如何验证表单中的单个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35844452/

相关文章:

c# - MVC 带有附加数据的多文件上传

javascript - 表单重置和以编程方式设置值

javascript - 选择一个表单复选框

php - 防止从读卡器提交表格

javascript - jQuery 如何禁用 AJAX 缓存?

javascript - Document.domain 未按预期运行

javascript - JQuery Ajax 成功后弹出窗口不会打开

javascript - 带有 css3 keydown keyCode = 37 和 39 的 JQuery

javascript - Rails Ajax 部分传递表单生成器

javascript - jQuery 可选限制