一些背景信息,我使用ASP.NET和MVC框架以及html助手。
我目前有一个动态表,其中每一行都有一系列输入框。每个输入框都有一个验证消息。这对第一行完全正常。但是,当动态添加其他行时(ID与其他属性一起更改以匹配行号),验证消息将不再起作用。 正在正确复制行和验证消息范围。
在JQuery中,这通常只是绑定的问题,因此对于每一行,我只需重新绑定ID'。但是,我并不确定如何在ASP.NET中使用它们。
任何帮助都将不胜感激。
由于
答案 0 :(得分:1)
好吧,我终于弄明白了。
在MVC中,为了处理验证,它导入了一个名为jquery.validate.unobtrusive.js的JQuery文件。 但是,与JQuery类似,这只发生在加载页面的最开始。因此,当您添加新的动态元素时,需要删除绑定并再次重新绑定它们。
基本上,在添加新元素的函数中,在添加新元素之后添加以下代码行:
$("#form").removeData("validator");
$("#form").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse("#form");
例如:
function addInfoDynamic()
{
document.getElementById("#myDiv").innerHTML += "New Content";
$("#form").removeData("validator");
$("#form").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse("#form");
}