0

我在一个表单中有多个输入,这些输入是通过循环生成的。

前任:

<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

4 回答 4

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;
}

演示

更新的演示

于 2013-09-02T04:58:42.483 回答
1
if($("input[name^='name_']" ).val()=="")
{ // alert for "name_" input
return false ;
}

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

引用属性以选择器开头

于 2013-09-02T04:48:07.640 回答
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;
         }
     }
  });
}

这是 JsFiddle 演示

于 2013-09-02T05:04:42.967 回答
0

您可以使用jQuery 验证插件来执行此任务。

假设您精通 jQuery,您可以在$(document).ready(). 在此之前,这里是假设:

  1. form您的对象的 id是myform

做出上述假设;在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 验证的优点是,它允许您在表单中的所有元素上指定多个验证规则。此外,您可以指定其他验证标准,例如指定文本字段中内容的最小长度、是否选中特定复选框等......它还可以确保您具有跨浏览器验证逻辑。

于 2013-09-02T05:01:01.960 回答