我有一個表單提交和取消按鈕,我想顯示不同的confirm
消息懸而未決,哪個按鈕被點擊,所以這就是我想出了。取消確認仍然提交表
function confirmDialog(buttonId) {
switch (buttonId) {
case "cancel":
var result = confirm("cancel message");
submitForm(result);
break;
case "submit":
var result = confirm("Submit message");
submitForm(result);
break;
}
};
而且我submitForm
函數看起來像
function submitForm(result) {
console.log(result); //this is false when I click cancel in the confirm box
if (result && $("#myform").valid()) {
$("#myform").submit();
}
else {
return false;
}
};
現在我的問題是,當我點擊取消形式仍然得到submited。有人能告訴我我做錯了嗎?我有return false;
在我的else
條件,所以我真的不知道爲什麼它仍然提交表單。
我看着下面的問題,但我仍然面臨的問題
jQuery Still Submits Ajax Post Even When 「Cancel」 is clicked on Confirm Dialog
javascript confirm (cancel) still submits form when returning false
編輯:取消按鈕HTML的要求
<button type="submit" id="cancel" class="btn btn-danger btn-block" value="Cancel">Cancel</button>
更多編輯
我所說的confirmDialog
功能Click事件相應的按鈕,如下所示:
$("#cancel").click(function() {
var buttonId = $(this).attr("id");
confirmDialog(buttonId)
});
請發佈您的HTML代碼,並從您的位置調用confirmDialog功能? – user7417866
看起來像是因爲如果你點擊取消,'confirmDialog('cancel')'運行,然後在確認對話框中單擊「OK」,這會向'submitForm'函數發送一個bool'true'值? – Stu
請張貼您的HTML代碼。我想看看你是如何宣佈你的'Cancel'按鈕的 –