在下面的代码中,我尝试关闭来自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()似乎无法正常工作
答案 0 :(得分:1)
将此代码放入jquery页面加载方法:
$(document).ready(function(){
$(".Close").click(function(){
$.colorbox.close(); // if you are using colorbox for generating the popup.
});
});
答案 1 :(得分:0)
$(document).ready(function(){
$(".Close").click(function(){
return false; //prevents default action (submit)
});
});
或
$(document).ready(function(){
$(".Close").click(function(event){
event.preventDefault(); //prevents default action (submit)
});
});