次のコードでは、jqueryからのポップアップフォームを閉じ、[いいえ]ボタンをクリックするとアクションを送信せず、[削除]をクリックすると削除しようとしました。以前は機能していましたが、[キャンセル]をクリックしても、フォームがコントローラーに送信され、削除アクションが実行されます。何が悪かったのですか?キャンセルボタンでポップアップを閉じても送信しないようにするにはどうすればよいですか。
@using (Html.BeginForm())
{
<fieldset style="width:70%;">
@Html.Hidden("CnoType", Model.CnoType, Model)
<b> Description: </b>
@Html.DisplayFor(Desc=>Model.CNoDesc)<br />
<b> Prefix:</b>
@Html.DisplayFor(Prefix=>Model.CnoPrefix)<br />
<b>Is Enable</b>
@Html.CheckBox("IsEnable", Model.IsEnable, Model)
</fieldset>
<input id="btn" type="submit" value="Delete" />
<button class="Close">Cancel</button>
}
これが私のjqueryです
<script type="text/javascript">
$.ajaxSetup({ cache: false });
$(document).ready(function () {
$(".openDialog").live("click", function (e) {
e.preventDefault();
$("<div></div>")
.addClass("dialog")
.attr("id", $(this)
.attr("data-dialog-id"))
.appendTo("body")
.dialog({
title: $(this).attr("data-dialog-title"),
minWidth: 500,
minHeight: 100,
resizable: false,
close: function () { $(this).remove() },
modal: true
})
.load(this.href);
});
$(".close").live("click", function (e) {
e.preventDefault();
$(this).closest(".dialog").dialog("close");
});
});
</script>
e.preventDefault()が機能していないようです