Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果我在mvc中用jquery填充字段,则显示必需的验证错误_Javascript_Jquery_Html_Asp.net Mvc_Forms - Fatal编程技术网

Javascript 如果我在mvc中用jquery填充字段,则显示必需的验证错误

Javascript 如果我在mvc中用jquery填充字段,则显示必需的验证错误,javascript,jquery,html,asp.net-mvc,forms,Javascript,Jquery,Html,Asp.net Mvc,Forms,我有一个带有输入元素的表单。表格中有四个要素是必需的。当我在没有选择的情况下提交表单时,会出现必需的错误,这很好。我通过jquery在选择下拉值时填充这些输入字段。现在的问题是->假设我提交表单时没有填写输入字段,则会出现所需的验证错误,现在如果我选择下拉值并自动填充其中一个输入字段,如下所示: //Drop down change event $("#ddl").on("change",function(){ fillFields($("#ddl").val()); }); //F

我有一个带有输入元素的表单。表格中有四个要素是必需的。当我在没有选择的情况下提交表单时,会出现必需的错误,这很好。我通过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"
}
}
现在问题是在自动填充之后,仍然会发生所需的错误。另一方面,如果我手动输入文本框,所需的错误将消失。
问题出在哪里?

默认情况下,
blur()
事件(或
.keyup()
)触发客户端验证(
jquery.validate.js
),仅使用jquery更新控件的值不会触发任何事件

例如,您可以专门触发事件

$("#inputField1").val("autoPopulate").trigger('blur');
或者,您可以在更新值后调用表单上的
.valid()
方法

$("#inputField1").val("autoPopulate");
$('form').valid();

客户端验证错误的添加/删除默认由
blur
事件触发-尝试使用
$(“#inputField1”).val(“autoPopulate”).trigger('blur')@StephenMuecke有用吗,还有其他工作吗?你还想找其他什么工作吗?。您还可以在更新值后使用
$('form').valid()
。@StephenMuecke感谢您的回答。