我有一个带输入元素的表单。表格中有四个要素是必需的。当我在没有选择的情况下提交表格时,会出现所需的错误,这是好的。我通过jquery在选择下拉值时填充这些输入字段。现在的问题是 - >假设我在没有填写输入字段的情况下提交表单,则会出现所需的验证错误,现在如果我选择下拉值并且其中一个输入字段自动填充如下:
//Drop down change event
$("#ddl").on("change",function(){
fillFields($("#ddl").val());
});
//Fill my field
function fillFields(val){
if(val){
$("#inputField1").val("autoPopulate"); //textbox fill with text "autoPopulate"
}
}
现在问题出在自动填充后,仍然会出现所需的错误。另一方面,如果我手动输入文本框,则所需的错误消失。 有什么问题?
答案 0 :(得分:3)
默认情况下,客户端验证(jquery.validate.js
)由blur()
事件(或.keyup()
)触发,只是使用jquery更新控件的值不会触发任何事件。
您可以专门触发事件,例如
$("#inputField1").val("autoPopulate").trigger('blur');
或者您可以在更新值
后调用表单上的.valid()
方法
$("#inputField1").val("autoPopulate");
$('form').valid();