我正在做一个MVC模态对话框。当用户单击模式按钮时,我进行了一个Ajax调用以加载对话框内容。当用户单击"模态"对话框上的"更新"按钮时,我进行了另一个AJAX调用以更新数据库并解散对话框。我在模式对话框中的"更新"按钮上找到了一个问题。
如果我在更新按钮中使用" a",
<a href="#" id="partDialogSubmit" class="btn btn-success btn-block"> <span>Update</span> </a>
一切正常。
但是,如果我使用"输入"
<input type="submit" id="partDialogSubmit" class="btn btn-success btn-block" value="Update" />
它将我重定向到某个URL不存在。当模式即将显示时,我以前的Ajax调用中看起来像是一些缓存。
为什么行为不同?
这是我的模态弹出脚本:
var showPartDialog = function(partID, modalBodyDiv, modalTag)
{
var url = "/Part/ShowPartDialog?Id=" + partID;
$("#partModalBodyDiv").load(url, function () {
$(modalTag).modal("show");
})
}
这是我的模态sumbit脚本:
$("#partDialogSubmit").click(function () {
var myformdata = $("#partDialogForm").serialize();
$.ajax({
type: "POST",
url: "/Part/UpdatePart",
data: myformdata,
success: function () {
window.location.href = "/Part/Index";
}
})
使用"输入"时,它总是试图加载不存在的" showpartdialog"
任何提示都会有所帮助。谢谢!
我认为的链接和输入之间的拳头差异是输入可以发射默认表单行为。也许e.preventdefault()可能会有所帮助。只是猜测...