我正在使用以下<a>
標籤來顯示它所做的簡單確認。但是,當我單擊「取消」按鈕時,它仍然執行post方法。根據我的理解,在確認之前有return
應該會導致表單在單擊取消按鈕時不會發布。確認取消按鈕上的對話框發佈?
<a href="#"
data-potr-action="delete"
data-potr-val="@item.RID"
onclick="return confirm('Are you sure you want to delete this Request?');"
class="btn btn-default btn-sm">
<i class="glyphicon glyphicon-trash"></i> Delete
</a>
我有這個代碼在頁面的結尾,但我不認爲這與問題有任何關係。我沒有想過在確認對話框中選擇取消時它會觸發點擊事件。
這只是將data-action和data-value中的值存儲到隱藏字段中。這是通過點擊完成的,它不應該進入。
@section scripts {
<script>
$(document).ready(function() {
// Hook events on buttons and anchors
buildClickEvents();
});
// Hook events on buttons and anchors
function buildClickEvents() {
$("[data-potr-action]").on("click", function (e) {
e.preventDefault();
$("#EventCommand").val(
$(this).data("potr-action"));
$("#EventArgument").val(
$(this).attr("data-potr-val"));
$("form").submit();
});
}
</script>
}
正要張貼相同。此外,請務必從HTML標記中刪除onclick屬性 – ChrisC
這適用於我的表單中只有刪除按鈕,但在這種情況下,我同時擁有一個「過濾」按鈕和一個「刪除」按鈕。這就是爲什麼存在數據操作價值的原因。提交時,將值設置爲隱藏值,然後傳遞給Post方法。在post方法中,我使用switch語句來查看值。如果它是「過濾器」,它會做一件事,如果它是「刪除」,它會做另一件事。我這樣做是基於Paul Sheriff博客。 – Caverman