使用jQuery验证表单时出错
尝试验证表单时出现以下错误:使用jQuery验证表单时出错,jquery,asp.net-mvc,jquery-validate,unobtrusive-validation,Jquery,Asp.net Mvc,Jquery Validate,Unobtrusive Validation,尝试验证表单时出现以下错误: 'this.0.form' is null or not an object 我正在使用最新的jQuery和jQuery.Validate以及jQuery.Validate.Unobtrusive(通过NuGet) 这是代码。错误来自哪里 @model URIntake.IntakeFormViewModel @{ ViewBag.Title = "Claim Information"; Layout = "~/Views/Shared/_Lay
'this.0.form' is null or not an object
我正在使用最新的jQuery和jQuery.Validate以及jQuery.Validate.Unobtrusive(通过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();
}
.
.
.
@model URIntake.IntakeFormViewModel
@{
ViewBag.Title=“索赔信息”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
@使用(Html.BeginForm(“Save”,“UrIntake”,FormMethod.Post,new{id=“UrIntakeForm”}))
{
@Html.TextBoxFor(x=>x.FormSubmitter.LastName)
@Html.TextBoxFor(x=>x.FormSubmitter.FirstName)
}
函数CancelForm(){
document.location=“/”;
}
函数SubmitForm(){
$(“UrIntakeForm”).valid();
}
.
.
.
您的jQuery选择器错误
function SubmitForm() {
$("#UrIntakeForm").valid();
}
在选择器中添加一个散列(#)以将其标识为id表单的jQuery选择器忽略了
#
符号。应包括一个#
,如下所示:
function SubmitForm() {
$("#UrIntakeForm").valid(); // "#UrIntakeForm" instead of "UrIntakeForm"
}
否则,您将对空jQuery对象应用
valid()
方法,这将导致您指定的错误。Duh!谢谢你的眼睛!