【问题标题】:how to validate atleast one value in multiple text field using jquery?如何使用 jquery 验证多个文本字段中的至少一个值?
【发布时间】:2026-01-19 00:50:01
【问题描述】:
    <script type="text/javascript">
    var errorExist = false;
     $(document).ready(function(){
      $("#form3").submit(function(){
     var get_count = $("#form3 input[type=text]").length;
       for(i=1; i<=get_count; i++){
         if($(".qtyy"+i).val()==""){
          errorExist  = "true";
        }
    }
  if(errorExist  == "true"){
      errorExist  = false;
      alert("Please enter value");
      return false;
   }
 });
});
</script>


    <form action="" name="form3" id="form3" method="post">
    <input name="qtyy[]" type="text" class="qtyy1" size="7" />
    <input name="qtyy[]" type="text" class="qtyy2" size="7" />
    <input name="qtyy[]" type="text" class="qtyy3" size="7" />
    <input name="qtyy[]" type="text" class="qtyy4" size="7" />
    <input name="qtyy[]" type="text" class="qtyy5" size="7" />
    <input type="submit" value="Place Your Order" name="postorder" id="postorder" />
    </form>

【问题讨论】:

  • 为什么要写这个 var errorExist = flag++;
  • 你两次声明 errorExist 检查我的代码
  • 替换errorExist = flag++; with errorExist = "true";。这将解决你的问题
  • 在此之前我检查了你的代码,但没有工作。
  • 它对我有用。你能创建一个链接

标签: jquery forms validation textfield


【解决方案1】:

试试这个,

<html>
<head>
 <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script type="text/javascript">
   var errorExist = false;
 $(document).ready(function(){
  $("#form3").submit(function(){
     var get_count = $("#form3 input[type=text]").length;
         for(i=1; i<=get_count; i++){
          if($(".qtyy"+i).val()==""){

           errorExist  = "true";
          }
         }
     if(errorExist  == "true"){
      errorExist  = false;
      alert("Please enter value");
      return false;
     }
});
});
</script>

</head>

<body>

 <form action="" name="form3" id="form3" method="post">
    <input name="qtyy[]" type="text" class="qtyy1" size="7" />
    <input name="qtyy[]" type="text" class="qtyy2" size="7" />
    <input name="qtyy[]" type="text" class="qtyy3" size="7" />
    <input name="qtyy[]" type="text" class="qtyy4" size="7" />
    <input name="qtyy[]" type="text" class="qtyy5" size="7" />
    <input type="submit" value="Place Your Order" name="postorder" id="postorder" />
  </form>
  </body>
</html>

【讨论】:

  • 如果您得到这个答案的解决方案,请将其标记为答案:)
  • 你检查了吗,它没有验证表单
  • 同样的问题没有验证,请检查。
  • 为什么会为每个空白文本字段显示警报,而我只想显示一个警报。
  • 感谢您的努力,我们非常接近,但只有一个问题是,如果我在任何文本字段中输入一些值,那么它不应该显示任何警报
【解决方案2】:
$(document).ready(function(){
    $("#form3").submit(function(){
        $("> input[type=text]",this).each(function(){
            if($(this).val()==""){
                alert("Please enter value");
                return false;
            }
        })
    })
});

【讨论】:

  • 如果您想为每个输入提供警报,只需删除 return false
  • 在输入一些值后它仍在验证文本字段
【解决方案3】:

我觉得这是您要实现的逻辑。如果任何文本框值不为空,则表单应验证

<html>
<head>
 <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script type="text/javascript">
   var errorExist = false;
 $(document).ready(function(){
  $("#form3").submit(function(){
     var get_count = $("#form3 input[type=text]").length;

     errorExist  = "true";
         for(i=1; i<=get_count; i++){
          if($(".qtyy"+i).val()!=""){

           errorExist  = "false";
          }

         }
     if(errorExist  == "true"){
      errorExist  = false;
      alert("Please enter value");
      return false;
     }
});
});
</script>

</head>

<body>

 <form action="" name="form3" id="form3" method="post">
    <input name="qtyy[]" type="text" class="qtyy1" size="7" />
    <input name="qtyy[]" type="text" class="qtyy2" size="7" />
    <input name="qtyy[]" type="text" class="qtyy3" size="7" />
    <input name="qtyy[]" type="text" class="qtyy4" size="7" />
    <input name="qtyy[]" type="text" class="qtyy5" size="7" />
    <input type="submit" value="Place Your Order" name="postorder" id="postorder" />
  </form>
  </body>
</html>

【讨论】: