我有一个表单提交和取消按钮,我想显示不同的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'按钮的 –