我正在使用JQuery动态地禁用客户端上的某些字段。在提交表单时,它们出现在服务器端请求中。据我浏览文档,它应该排除禁用的输入。以下代码禁用输入,如果它们为空:
var partnerInputs = $('.partner.newPartner .row');
var firstName = newPartnerInputs.find(":input[name$='.FirstName']");
var lastName = newPartnerInputs.find(":input[name$='.LastName']");
var emailAddress = newPartnerInputs.find(":input[name$='.EmailAddress']");
if ($.trim(firstName.val()).length === 0 && $.trim(lastName.val()).length === 0 && $.trim(emailAddress.val()).length === 0) {
firstName.attr("disabled", "disabled");
lastName.attr("disabled", "disabled");
emailAddress.attr("disabled", "disabled");
reattachUnobtrusiveValidation($("#selectPartners"));
}
而且简单
form.submit()
reattachUnobtrusiveValidation方法只是重新计算表单的验证。如果我正在使用,它会忽略禁用的字段
$("#form").validate().form()
这是将表单发布到C#控制器。并且服务器端的模型或JS中的表单在提交之前包含禁用的字段。我浏览了html表单帖子,它排除了禁用的字段。这可能有什么问题?
看来此功能的功能是不发布字段的值。这不能省略post模型中的输入/字段,但只能为此字段发布null。