2

我无法让jquery.validate.js在一些字段上正常工作。这是代码:

$("#input_home_area").rules("add", {
    digits: true,
    maxlength: 3,
    minlength: 3
});

$("#input_home_prefix").rules("add", {
    digits: true,
    maxlength: 3,
    minlength: 3
});

$("#input_home_suffix").rules("add", {
    digits: true,
    maxlength: 4,
    minlength: 4
});

HTML:

<li id='' class='gfield sixth required'>
    <label class='gfield_label' for=''>Home Phone Area Code (ex: 954)</label>
    <div class='ginput_container'>
        <input name='' id='input_home_area' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 954)" />
    </div>
</li>

<li id='' class='gfield sixth required'>
    <label class='gfield_label' for=''>Home Phone Prefix (ex: 555)</label>
    <div class='ginput_container'>
        <input name='' id='input_home_prefix' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 555)" />
    </div>
</li>

<li id='' class='gfield sixth required'>
    <label class='gfield_label' for=''>Home Phone Suffix (ex: 1236)</label>
    <div class='ginput_container'>
        <input name='' id='input_home_suffix' type='text' value='' class='medium' tabindex='6' placeholder="(ex: 1236)" />
    </div>
</li>

这个问题很难解释,但我会尽力而为。当我包含验证的脚本时#input_home_suffix,两者都#input_home_area得到#input_home_prefix验证,就好像它们在哪里一样#input_home_suffix。因此,即使我同时设置#input_home_area#input_home_prefix要求输入 3 位数字,它们也会得到验证,就好像必须输入 4 位一样。即使我注释掉验证#input_home_area和的脚本位#input_home_prefix,它们仍然会得到验证,就好像它们实际上是#input_home_suffix

我完全不知道发生了什么。页面上的所有其他字段都经过完美验证,只是这些字段存在问题。

4

1 回答 1

2

使用验证插件时,您必须通过name属性调用输入,而不是它们的id.

于 2013-04-16T21:14:16.750 回答