2015-05-28 57 views
7

我有一個提交按鈕的表單,我想在繼續提交表單之前顯示一個對話框。如何在提交前顯示對話框?

下面的代碼是顯示在對話框正確,但它仍然無論如何提交:

@using (Html.BeginForm("SubmitForm", "Home", FormMethod.Post, new { id = "form" })) 
{ 
    @Html.AntiForgeryToken() 
    *snip* 

    <div class="collapseClosed panel-footer panel-collapse collapse in"> 
     <input type="submit" name="btnSubmit" id="btnSubmit" class="btn btn-success" value="Submit" /> 
    </div> 
} 
<div id="confirm" title="Confirm"> 
    <span id="confirmtext"></span> 
</div> 

<script> 
    $("#btnSubmit").on("click", function() { 
     currentForm = $(this).closest('form'); 
     $("#confirmtext").text("Please confirm."); 
     $("#confirm").dialog('open'); 
    }); 
</script> 

回答

10

您需要添加e.preventDefault(); JQuery的內部點擊事件,以防止提交。

<script> 
    $("#btnSubmit").on("click", function (e) { 
     e.preventDefault(); 
     currentForm = $(this).closest('form'); 
     $("#confirmtext").text("Please confirm."); 
     $("#confirm").dialog('open'); 
    }); 
</script> 
1
<script> 
    $("#btnSubmit").on("click", function (e) { 
     e.preventDefault(); 
     currentForm = $(this).closest('form'); 
     $("#confirmtext").text(Please confirm."); 
     $("#confirm").dialog('open'); 
    }); 
</script> 
+6

只是代碼是不夠的,幫助OP!描述你在做什麼 – Mivaweb