我正在使用jquery Impromptu提交我的一个表单。 在上面提到的URL中,我使用的是示例2。
现在,当我尝试在表单提交中加入相同内容时,表单即使在我按下“是/否”按钮之前也会提交。
我使用以下代码行提交表单
<input type="image" name="delete" src="images/delete.png" onclick="$.prompt('Are you sure??',{ buttons: { Ok: true, Cancel: false } })">
我确信我错过了什么。 有人可以帮助我吗?
谢谢,
Alloi
答案 0 :(得分:1)
尝试这样的事情:
<input type="image" name="delete" src="images/delete.png" onclick="$.prompt('Are you sure??',{ buttons: { Ok: $('form#foo').submit(), Cancel: false } }); return false;">
更好的是,尝试让你的JS不引人注目:
<input type="image" name="delete" src="images/delete.png" />
$('input[name=delete]').click(function() {
$.prompt('Are you sure??',{
buttons: {
Ok: $('form#foo').submit(),
Cancel: false
}
});
return false;
});
答案 1 :(得分:1)
Impromptu在执行前不会等待。所以你不应该在用户确认操作之前提交。
像这样使用:
<input type="image" name="delete" src="images/delete.png" onclick="confirmAndDelete()">
使用javascript函数:
function confirmAndDelete(){
var deleteFunc = function()
{
$('form#foo').submit();
};
$.prompt("Are you sure?",
{
title: "Delete Confirm",
buttons: { "Yes": true, "No": false },
submit: function (e, val, m, f) {
if (val == true)
deleteFunc();
else
console.log('Delete not confirmed!');
}
});
}
答案 2 :(得分:0)
像这样的花哨提示会在页面上/上方显示一条消息,但他们不会暂停执行,如alert
和confirm
。 (这就是他们在the docs page上所说的“这不是一个模态替换......”)所以尽管你正在显示提示,表单提交仍在继续
处理此问题的常用方法是显示提示但取消表单提交,然后如果用户说“是”,则以编程方式提交表单。
基本上,你: