输入与模态对话框之间的区别



我正在做一个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()可能会有所帮助。只是猜测...

最新更新