ここでは、すべての必須フィールドが入力されるまでフォームの送信を制限するためのソリューション(ここでいじくり回しました)を使用しました。
問題は、Firebugで観察したように、MVC3プロジェクトで実行すると、次のブロックの3行目から開始しなくなることです。そのため、ソリューションは機能しません。
var validator = $("#myForm").validate();
var tabs = $("#tabs").tabs({
select: function(event, ui) { // Here.
// The following lines are not executed.
var valid = true;
var current = $(this).tabs("option", "selected");
var panelId = $("#tabs ul a").eq(current).attr("href");
プロジェクトでスクリプトの残りの部分が実行されない理由と、それを修正するために何をすべきかを誰かに教えてもらえますか?ありがとう!
私のビューファイルで
@ModelType SLC.Models.RegisterModel
// downloaded with NuGet
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var validator = $("#myForm").validate();
console.log(validator);
var tabs = $("#tabs").tabs({
select: function (event, ui) {
var valid = false;
var current = $(this).tabs("option", "selected");
var panelId = $("#tabs ul a").eq(current).attr("href");
$(panelId).find("input").each(function () {
console.log(valid);
if (!validator.element(this) && valid) {
valid = false;
}
});
return valid;
}
});
});
</script>
<link rel="stylesheet" href="@Url.Content("~/Content/themes/base/jquery-ui.css")" />
@Using Html.BeginForm("", "", Nothing, New With {.id = "myForm"})
@Html.ValidationSummary(True, "Account creation was unsuccessful. Please correct the errors and try again.")
@<div>
<div id="tabs">
<ul>
<li><a href="#tab-1">1. Information</a></li>
<li><a href="#tab-2">2. Information</a></li>
<li><a href="#tab-3">3. Confirm</a></li>
</ul>
<div id="tab-1">
// Some fields...
</div>
<div id="tab-2">
// Some fields...
</div>
<div id="tab-3">
// Some fields...
<input type="submit" value="Register" />
</div>
</div>
</div>
End Using
レイアウトテンプレートファイル
<head>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
// downloaded with NuGet
<script src="@Url.Content("~/Scripts/jquery-1.9.1.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.10.0.js")" type="text/javascript"></script>
</head>