问题描述
我试图做手工验证这样我就可以通过AJAX发布我的形式。
另外,我动态加载我使用的形式 $(#formHolder),负载(URL);
当我加载页面到DIV它总是验证为真,即使我的输入框为空。
即调用如果($(#MyForm的)。有效的())//总是真
不过如果我去的页面URL直接它工作正常。
所以,我怎么能初始化形式通过 .load加载它(URL),之后正确;
,因为第一次打开时它不会在页面上存在
我的JavaScript
$('。myLink的')。点击(函数(){
VAR URL ='/通讯/信息/'; //这个我加载HTML表单在运行时从另一页/视图
$(#formHolder)。负载(URL,函数(){
$(#的MyForm)验证()。 //我觉得一旦加载这条线将它初始化
})。对话({
模式:真实,
宽度:800,
身高:600
});
返回false;
});
调用 $。validator.unobtrusive.parse()
后手动形式已加载的作品
我发现这里的解决方案http://btburnett.com/2011/01/mvc-3-unobtrusive-ajax-improvements.html
I am trying to do manual validation so I can post my form via AJAX.
ALSO I am loading my form dynamically using $("#formHolder").load(url);
When I load the page into the DIV it always validates as true, even though my input box is empty.
i.e call if($("#MyForm").valid()) //is always true
However If I go to the page URL directly it works ok.
So how can I initialise the Form correctly after loading it via .load(url);
since it does not exist on the page when first opened
My Javascript is
$('.myLink').click(function () {
var url = '/newsletter/info/'; // this loads my HTML form from another page/view at runtime
$("#formHolder").load(url, function () {
$("#MyForm").validate(); // I thought this line would initialise it once it loads
}).dialog({
modal: true,
width:800,
height: 600
});
return false;
});
Calling $.validator.unobtrusive.parse()
manually after the form has been loaded works
I found the solution here http://btburnett.com/2011/01/mvc-3-unobtrusive-ajax-improvements.html
这篇关于用动态的形式ASP.Net MVC 3客户端验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!