2012-09-11 41 views
1

我在页面上有乘法形式(自动生成)。我要求用户确认删除记录。如果用户点击“否”,模式对话框将关闭,但不会发生任何事情,但如果他点击“是”按钮,则不会再发生任何事情。任何人都可以帮忙模式确认 - 表单未提交,如果确定单击

下面是代码:

<input type="submit" value="Click me" class="button" /> 

<div id="modal"> 
<div id="heading"> 
    Record will be deleted! Please Confirm. 
</div> 

<div id="content"> 
    <p>Record will be deleted! This operation can't be undone. <br />Are you sure?</p> 

    <input type="button" onclick="return true;" class="button green close" value="Yes"></button> 
    <input type="button" onclick="return false;" class="button red close" value="No"></button> 

</div> 

$('.oneUser').on('submit',function(e){ 
    $('#modal').reveal({ 
     animation: 'fade',     
     animationspeed: 600,      
     closeonbackgroundclick: true,   
     dismissmodalclass: 'close'  
    }); 
    return false; 
}); 
+0

我的猜测与提交函数返回false有关。这通常是防止表单提交的好方法。 – Nicodemeus

+0

嗨,尼克。删除reutrn false后,无论按下哪个按钮(无论是false还是true),表单都会被悄悄提交,模式对话框甚至不会被触发。 – Zoran

+0

更新了我的回复,然后在下面的答案中看到了您的评论。你能详细说明页面的结构,特别是<表格/ >元素和孩子的分类吗? – Nicodemeus

回答

1

更新,目前已与A fiddle!

更新标记

<form> 
    <input type="submit" value="Click me" class="button" id="submitButton" /> 
</form>​ 
  • 删除了对话框标记。
  • 包含表格标记。

更新脚本

var confirmDelete = $('<div></div>') 
    .html('Record will be deleted! This operation can\'t be undone. <br />Are you sure?') 
    .dialog({ 
     autoOpen: false, 
     title: 'Record will be deleted! Please Confirm.', 
     buttons: {"Yes": function() { 
         $(this).dialog("close"); 
         $('form').submit(); 
       }, "No": function() { 
         $(this).dialog("close"); 
       } 
     } 
    }); 
$('#submitButton').on('click', function(e){ 
    e.preventDefault(); 
    $(confirmDelete).dialog('open'); 
}); 
  • 采用按钮的单击事件,而不是表单提交事件。
  • 实现对话框like this guy did it
  • 是和否选项将关闭对话框,并单击'是'也将调用$('form').submit();
+0

不,注释返回false,表单提交时不显示模式对话框。它只是默默地删除记录。 – Zoran

+0

尼克,在添加你的代码后,表单被默认提交,并删除记录而不用调用对话框。我添加了:submit#submitButton,但没有任何结果。 – Zoran

+0

console.log显示以下错误:Uncaught TypeError:Object [object Object] has no method'dialog' – Zoran