我有一个表格,我正在使用 jquery 的验证器来验证。如果他们在注册码中输入了供应商,那么他们必须从下拉菜单中选择供应商。但仅适用于供应商,如果他们键入大学,则不必从下拉菜单中选择大学。这是html部分:
<form id="everything" method="post">
First Name:<input type="text" name="fname" id="fname"/>
Last Name:<input type="text" name="lname" id="lname"/>
<select name="type" id="type">
<option value="">None</option>
<option value="Early College">Early College</option>
<option value="Public School">Public School</option>
<option value="Vendor">Vendor</option>
<option value="other">Other</option>
</select>
Registration Code: <input type="text" name="regcode" id="regcode"/>
</form>
然后是jquery:
jQuery.validator.addMethod("registration_check", function(value, element) {
if ($('#regis_code').val() == "Vendor") {
return ($('#regis_code').val() == $('#iitype').val());
}
}, jQuery.format("You entered Vendor as the registration code, please select vendor from the Institutional Information Type drop down menu."));
var val = $('#everything').validate({
rules: {
fname: { required: true},
lname: { required: true},
regis_code: {
required: true,
registration_check: true,
}
},
messages: {
regis_code: {
required: "Please enter a registration code"
}
}
});
如果我输入供应商并且没有从下拉菜单中选择供应商,它会发牢骚,这很好。问题是,如果我输入 vendor 并从 dd 菜单中选择它,而没有名字和姓氏(必须填写),它无法验证名称并继续前进。有谁知道问题是什么?
编辑:这是问题的一个工作示例:BIN。要重现该问题,只需在注册码文本框中输入 vendor,然后从下拉列表中选择 vendor 并单击提交。这将向您展示它如何无法验证其他两个文本框。