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