2012-09-11 55 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