我已经阅读了有关此问题的大部分帖子,但我仍然看不出有什么问题。有人可以请一脸吗?我收到一个错误“无法读取属性'不显眼的'未定义”如果我注释掉该行然后我得到“无法读取未定义的属性'选项”所以很明显我有一些引用不当但我看不到它。如果我拿出所有的验证代码弹出窗体并且工作正常,但当然没有验证。另外,我尝试用“#updateContactForm”代替“#updateDialog”并得到相同的结果。希望这是一件简单的事情,我从长时间的观察中看不出来。提前致谢!
<div id="updateDialog" title="Update Contact"></div>
<script type="text/javascript">
var linkObj;
$(function () {
$(".editLink").button();
$("#updateDialog").dialog({
autoOpen: false,
width: 400,
resizable: false,
modal: true,
buttons: {
"Update": function () {
$("#update-message").html(''); //make sure there is nothing on the message before we continue
$("#updateContactForm").submit();
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
$(".editLink").click(function () {
//change the title of the dialog
linkObj = $(this);
var dialogDiv = $("#updateDialog");
var viewUrl = linkObj.attr('href');
$.get(viewUrl, function (data) {
dialogDiv.html(data);
//validation
var $form = $("#updateContactForm");
$form.unbind();
$form.data("validator", null);
$.validator.unobtrusive.parse($("#updateDialog"));
// Re add validation with changes
$form.validate($form.data("unobtrusiveValidation").options);
//open dialog
dialogDiv.dialog("open");
});
return false;
});
答案 0 :(得分:2)
要检查一下,您是否正确引用了cshtml或母版页中的jquery验证脚本?。
您应首先加载脚本jquery.validate.js
,然后加载jquery.validate.unobtrusive.js
脚本。