我正在开发一个 asp.net mvc 3 应用程序,但我无法让我的不显眼的 JS 验证正常工作。我问了非常相似的问题,但由于我没有得到任何答案,但认为我设法更好地定义了我的问题,所以我现在写了这个问题。
在寻找如何让客户端验证正常工作的答案时,我看到提交按钮的单击事件必须附加一些代码,这将启动验证过程。我不是 100% 肯定是这样,这实际上是我的问题,但如果我是正确的,你能帮我添加我需要添加的 JS,以便可以触发验证过程。
这是我的表格:
@using (Html.BeginForm("RecieveDataFromDocument", "Forms", FormMethod.Post))
{
@Html.ValidationSummary(true)
<table border="1">
<colgroup>
<col span="1" style="width: 10%;" />
<col span="1" style="width: 40%;" />
<col span="1" style="width: 25%;" />
<col span="1" style="width: 25%;" />
</colgroup>
@Html.Partial("_PartialHeader", Model)
@Html.Partial("_PartialDrawing", Model)
@Html.Partial("_PartialBody", Model)
@Html.Partial("_PartialFooter", Model)
</table>
if (ViewBag.Status == 1)
{
<button type="submit" id="submitDocument">Save</button>
}
else
{
@Html.ActionLink("Back", "Index")
}
}
在同一个视图的底部,我有这个 JS:
<div>
<script type="text/javascript">
$(document).ready(function () {
$('#submitDocument').click(function () {
window.alert('Hi');
var test = ($("form").valid());
window.alert('bye');
})
});
</script>
</div>
从我测试的内容到现在,我可以看到该Hi
消息,但即使我评论它,我也永远不会收到bye
. 所以任何帮助将不胜感激。
附言
我的_Layout
页面中包含了这个:
<script src="@Url.Content("~/Scripts/jquery-1.8.3.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.10.3.custom.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/plugins/jqGrid/jquery-ui-1.8.16.custom.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/PageHelpers/jqDateTimePicker.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/plugins/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/plugins/jquery.validate.js")" type="text/javascript"></script>
我试图明确包括那些:
<script src="@Url.Content("~/Scripts/plugins/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/plugins/jquery.validate.js")" type="text/javascript"></script>
在我看来。因此,使用此设置它不起作用。