0

我已经阅读了此处与此问题有关的大部分帖子,但我仍然看不出有什么问题。请问有人可以看吗?我收到一个错误“无法读取未定义的属性'unobtrusive'”如果我注释掉该行然后我得到“无法读取未定义的属性'选项'”所以显然我有一些不正确的引用但我看不到它。如果我取出所有验证代码,表单会弹出并且工作正常,但当然没有验证。另外,我尝试用“#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;
    });
4

1 回答 1

2

只是为了检查一下,您是否正确引用了 cshtml 或母版页中的 jquery 验证脚本?

您应该先加载脚本jquery.validate.js,然后再加载脚本jquery.validate.unobtrusive.js

于 2012-05-30T05:40:33.280 回答