$.validator.unobtrusive.parse 将局部视图加载到 jquery-ui 对话框时不起作用?
$.validator.unobtrusive.parse not work when load partial view to jquery-ui dialog?
我有一个登录对话框内容的局部视图。
在我的页面我有
<input type="button" value="Open" onclick=" OpenDialog() "/>
<div id="dialog">
</div>
这是页面上用于将部分视图加载到对话框的代码:
<script type="text/javascript">
$(document).ready(function() {
$('#dialog').dialog({
autoOpen: false,
width: 400,
height: 300,
closeOnEscape: true,
closeText: "Close",
modal: true,
resizable: false,
title: "login",
open: function () {
$(this).load('@Url.Action("login", "Home")');
}
});
});
function OpenDialog() {
var form1 = $("#dialog").removeData("validator").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse(form1);
$('#dialog').dialog('open');
}
</script>
但是登录表单的客户端验证不起作用。
我的代码有什么问题?
我将 $.validator.unobtrusive.parse(selector);
移动到部分视图并解决了问题。
加载表单后必须运行$.validator.unobtrusive.parse(form1);
。将您的开放处理程序更改为
open: function () {
var $this = $(this);
$this.load('@Url.Action("Login", "Account")', function () {
$.validator.unobtrusive.parse($this);
});
}
我有一个登录对话框内容的局部视图。
在我的页面我有
<input type="button" value="Open" onclick=" OpenDialog() "/>
<div id="dialog">
</div>
这是页面上用于将部分视图加载到对话框的代码:
<script type="text/javascript">
$(document).ready(function() {
$('#dialog').dialog({
autoOpen: false,
width: 400,
height: 300,
closeOnEscape: true,
closeText: "Close",
modal: true,
resizable: false,
title: "login",
open: function () {
$(this).load('@Url.Action("login", "Home")');
}
});
});
function OpenDialog() {
var form1 = $("#dialog").removeData("validator").removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse(form1);
$('#dialog').dialog('open');
}
</script>
但是登录表单的客户端验证不起作用。 我的代码有什么问题?
我将 $.validator.unobtrusive.parse(selector);
移动到部分视图并解决了问题。
加载表单后必须运行$.validator.unobtrusive.parse(form1);
。将您的开放处理程序更改为
open: function () {
var $this = $(this);
$this.load('@Url.Action("Login", "Account")', function () {
$.validator.unobtrusive.parse($this);
});
}