我无法让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
我完全不知道发生了什么。页面上的所有其他字段都经过完美验证,只是这些字段存在问题。