0

MVC アプリケーションで 2 つのクエリ タブを持つクエリ ダイアログ ボックスを開いています。両方のタブが異なる部分ページをロードしています。タブの1つでフォームを作成しました。フォームの検証は正常に機能します。form に検証エラーがない場合、エラー $element[0] is undefined in jquery.validate.js @ line 806が表示されます。何が問題なのか理解できません。以下はコードです:

    Include references in _Layout.cshtml:
        <script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery-ui-1.8.20.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>

Partial view which open in one of tab:
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

@using (Ajax.BeginForm("UpdateMediaCode", "MediaCode", null,
        new AjaxOptions
        {
            UpdateTargetId = "myMsg",
            InsertionMode = InsertionMode.Replace,
            HttpMethod = "POST",
            OnSuccess = "mySuccess"
        }, new { @id = "myFormId" }
        ))
{
    @Html.ValidationSummary(true) 
 }
<script type="text/javascript">
    $(document).ready(function () {
        $.validator.unobtrusive.parse($('#myFormId));
    }
</script>

任意の助けをいただければ幸いです。ここで何が起こっているのですか?

4

1 に答える 1

-1

内ではなく、メソッドを呼び出す必要があるのは、ハンドラーmySuccessとして使用されるコールバック内です。パーシャル内に document.ready ハンドラーを含めるべきではありません。ところで、パーシャル内に JavaScript を含めるべきではありません。JavaScript は別のファイルに記述する必要があります。部分ビューには、マークアップのみを含める必要があります。OnSuccessAjaxForm$.validator.unobtrusive.parsedocument.ready

于 2012-07-09T14:06:08.113 に答える