如果输入类型文本上的多个id为空,则检查值是否为空

时间:2013-09-02 04:41:13

标签: jquery validation onclick

我有多个输入形式,用循环生成

E.X:

<form>
    <input type="text" id="name_1" name="name_1" />
    <input type="text" id="address_1" name="address_1" />
    <input type="text" id="date_1" name="date_1" />
    <input type="text" id="name_2" name="name_2" />
    <input type="text" id="address_2" name="address_2" />
    <input type="text" id="date_2" name="date_2" />
    <input type="text" id="name_3" name="name_3" />
    <input type="text" id="address_3" name="address_3" />
    <input type="text" id="date_3" name="date_3" />
    <input type="submit" value="submit" />
</form>

当事件提交点击时,只有id=name_id=address_才会验证是否显示空警而不是id=date_

可以用jquery吗?

4 个答案:

答案 0 :(得分:1)

if($("input[name^='name_']" ).val()=="")
{ // alert for "name_" input
return false ;
}

if($("input[name^='address_']" ).val()=="")
{ // alert for "address_" input
return false ;
}

参考attribute start with selector

答案 1 :(得分:1)

试试这个

JS

function validatevalue()
{
    if($("input[id^='date_']" ).val()=="")
    { 
        alert("Date");
        return false;
    }

    if($("input[id^='name_']" ).val()=="")
    { 
        alert("name");
         return false;
     }
     return true;
}

HTML

<input type="text" id="name_1" name="name_1" />
<input type="text" id="address_1" name="address_1" />
<input type="text" id="date_1" name="date_1" />
<input type="text" id="name_2" name="name_2" />
<input type="text" id="address_2" name="address_2" />
<input type="text" id="date_2" name="date_2" />
<input type="text" id="name_3" name="name_3" />
<input type="text" id="address_3" name="address_3" />
<input type="text" id="date_3" name="date_3" />
<input type="submit" value="submit" onclick="return validatevalue();" />

更新的答案

function validatevalue()
{
    $('input').each(function(){
        if($(this).val()==""){
            alert("Fill Value");
            return false;
        }
    });
     return true;
}

Demo

Updated Demo

答案 2 :(得分:1)

为每个输入分配一个相同的类,即validateInput,然后使用:

function validatevalue()
{
  $( "input.validateInput" ).each(function( index ) {
     if($(this).val() =="" )
     {
         if(!this.id.contains('date')){
            alert('Please fill the required information.');
             return false;
         }
     }
  });
}

Here is JsFiddle Demo

答案 3 :(得分:0)

您可以使用jQuery Validation Plugin执行此任务。

假设您精通jQuery,可以在$(document).ready()中添加以下规则。在此之前是假设:

  1. form对象的ID为myform
  2. 做出以上假设;在document.ready内执行以下操作作为初始化:

    $(document).ready(function() {
    
    $("#myform").validate({
        rules : { name_1 : "required", address_1 : "required" },
        messages : {name_1 : "Enter your name.", address_1 : "Enter your address"}
    
      });
    });
    

    请注意,您需要在页面中加入 jquery.validate.js

    使用jQuery验证的优点是,它允许您为表单中的所有元素指定多个验证规则。此外,您还可以指定其他验证条件,例如指定文本字段中的最小内容长度,是否选中特定复选框等等。它还可确保您具有跨浏览器验证逻辑。