0

試圖驗證自己的狀態時,我收到以下錯誤:我使用的是最新的jQuery和jQuery.Validate和jQuery.Validate.Unobtrusive錯誤驗證表單與jQuery

'this.0.form' is null or not an object 

(通過的NuGet )。

這是代碼。錯誤來自哪裏?

@model URIntake.IntakeFormViewModel 

@{ 
    ViewBag.Title = "Claim Information"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

<div id="SubmissionForm"> 
@using (Html.BeginForm("Save", "UrIntake", FormMethod.Post, new { id = "UrIntakeForm"})) 
{ 
    @Html.TextBoxFor(x => x.FormSubmitter.LastName) 
    @Html.TextBoxFor(x => x.FormSubmitter.FirstName) 

    <div id="SubmissionButtons" class="right"> 
     <input type="button" onclick="SubmitForm()" value="Submit" /> 
     <input type="button" onclick="CancelForm()" value="Cancel" /> 
    </div> 
} 
</div> 


<script type="text/javascript"> 
    function CancelForm() { 
     document.location = "/"; 
    } 

    function SubmitForm() { 
     $("UrIntakeForm").valid(); 
    } 
. 
. 
. 

回答

0

你的jQuery選擇的形式,省略了#跡象。該jQuery ID selector應包括#像這樣:

function SubmitForm() { 
    $("#UrIntakeForm").valid(); // "#UrIntakeForm" instead of "UrIntakeForm" 
} 

否則你申請的valid()方法將一個空的jQuery對象,這與您所指定的錯誤。

+0

咄!謝謝你的額外眼睛! – birdus 2013-02-11 22:31:39

0

你的jQuery選擇是錯誤的

function SubmitForm() { 
     $("#UrIntakeForm").valid(); 
    } 

哈希(#)添加到選擇,以確定它作爲一個ID