提交失去價值我有一個提交按鈕的MVC格式:MVC後,當通過JavaScript
<form method="POST" id="submitProject" action="@Url.Action(SubmitProject, "ProjectSummary")">
<button type="submit" name="submitButton" id="submitProject" value="saveToProposed" class="btn btn-primary">Submit Project</button>
</form>
但是,當該按鈕,用戶點擊我想向他們展示一個確認對話框後繼續之前的方法:
$('#submitProject').submit(function (e) {
var currentForm = this;
e.preventDefault();
bootbox.dialog({
message: "Approve or Reject",
title: "Project Approval",
buttons: {
success: {
label: "Approve",
className: "btn-success",
callback: function() {
alert("Approved");
currentForm.submit();
}
},
danger: {
label: "Reject",
className: "btn-danger",
callback: function() {
alert("Rejected");
currentForm.submit();
}
},
main: {
label: "Cancel",
className: "btn-primary",
callback: function() {
return true;
}
}
}
});
});
在我的控制器我試圖陷阱提交按鈕的值是這樣的:
如果我沒有那preventDefault行在那裏我可以看到控制器中的submitButton的值。使用preventDefault時,該值始終爲空。 這是我一直在努力學習MVC的東西。如果我沒有任何客戶端互動,我會很好。但試圖讓js與mvc一起玩就是讓我聽到叮噹聲。我究竟做錯了什麼?
提交按鈕val只有在點擊提交按鈕後,纔會將ue回傳。您將取消默認操作並調用'currentForm.submit();',這將不包含提交按鈕的值。 –
這是有道理的。但我有什麼追索權?我在這個表單上有多個提交按鈕,我需要知道點擊了哪些按鈕,但我也需要確認對話框 – VBAHole
如果您想要處理'.submit()'事件但函數調用'return false'取消它(即如果'取消'按鈕被點擊)或'返回true',讓正常的提交發生(並刪除'e.preventDefault();') –