2
我在我的部分視圖中有一個表單,通過調用ajax來提交。但問題是表單提交多個表格。我發現很奇怪的原因,我不知道如何解決它。表單提交多次asp.net mvc
在主視圖中,
@Html.Partial("_Jobs", Model.UserJobs)
@section Scripts {
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")
}
我在我的局部視圖我有一個表格
<script>
function onSuccess() {
$.fancybox.close();
console.log("success");
return false;
}
function onFailure() {
alert("fail");
}
</script>
@using (Ajax.BeginForm("CreateJob", "Jobs", null,
new AjaxOptions()
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
OnSuccess = "onSuccess",
OnFailure = "onFailure",
UpdateTargetId = "userJobsList"
}, null))
{
@Html.ValidationSummary()
<div class="col-right">
@Html.DropDownListFor(model => model.SelectedProjectId, Model.ProjectList, "Select an Option", new { @class = "text-box", id = "projects" })
@Html.TextBoxFor(model => model.Title, new { @class = "text-box", placeholder = "Job Title" })
<br />
@Html.TextAreaFor(model => model.Description, new { @class = "text-box", placeholder = "Description" })
<div class="col-right-1">
<button id="createButton">
Create
</button>
<button id="cancelButton">
Cancel
</button>
</div>
</div>
</div>
}
通過給「jqueryval」的在主視圖中的參考不驗證在局部視圖,但形式表單以正常方式提交(即單一時間)
爲了驗證表單我然後從主視圖中刪除引用'jquery val並在表單之後放入部分視圖中,由makin g這些小改動形式在提交前開始驗證,但畢竟驗證通過表單提交多次。任何機構都可以幫助我找出爲什麼它會多次提交。什麼是最好的地方把'jqueryval'作爲參考?
不,我的頁面上沒有多個jquery.unobtrusive-ajax.js引用。由於我在部分視圖中呈現此腳本,所以我可以說每次部分視圖呈現此腳本時再次加載。可能會導致這個問題。但是,當我從部分視圖中刪除腳本並放入主視圖時,表單不再執行驗證。任何建議,我需要做什麼解決這個問題?謝謝 – user2866746
好評!!!!!爲我工作很好! – Funky
這對我來說也很好。 – cyclical