我需要在单击图像时显示确认对话框。仅当 jquery 确认对话框返回 true 时,才应执行图像“onclick”部分中的代码。
此时,当用户单击 $(".submit_image") - 会显示对话框,但表单仍会提交。
jquery.alerts 插件或常规 javascript 确认对话框的逻辑应该相同。
<form name="myform">
<img class="submit_image" onclick="myform.field1.value='1';myform.field1.value='2'; myform.submit();">
</form>
$(document).ready(function(){
// catch submit
$(".submit_image").click(function(e){
jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
return r;
});
});
});
最佳答案
return jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
return r;
});
也许? jQuery 需要您从 .click 函数返回“false”以停止默认操作,而现在您没有从该函数返回任何内容。
* 编辑*
我刚刚查看了 jConfirm,由于它的工作原理(特别是因为它不返回任何内容;它只能通过回调返回值),不可能按照您想要的方式使用它。您需要做的只是始终从 onclick 处理程序返回 false,然后在 jConfirm 回调中手动调用表单提交。
示例:
$(document).ready(function(){
// catch submit
$(".submit_image").click(function(e){
jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) {
// If they confirmed, manually trigger a form submission
if (r) $(".submit_image").parents("FORM").submit();
});
// Always return false here since we don't know what jConfirm is going to do
return false;
});
});
关于Jquery 在表单提交时显示确认对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1411910/