输入和模态对话框之间的差异

时间:2017-03-01 00:45:23

标签: javascript jquery twitter-bootstrap

我正在制作一个mvc模态对话框。当用户单击模态按钮时,我进行Ajax调用以加载对话框内容。当用户点击"更新"在模态对话框上的按钮,我进行了另一个Ajax调用以更新数据库并关闭对话框。我在"更新"上发现了一个问题。我的模态对话框中的按钮。

如果我正在使用" a"对于更新按钮,

    <a href="#" id="partDialogSubmit" class="btn btn-success btn-block"> <span>Update</span>  </a>

一切都很完美。

但如果我使用&#34;输入&#34;

    <input type="submit" id="partDialogSubmit" class="btn btn-success btn-block" value="Update" />

它将我重定向到某个网址并不存在。当模态即将显示时,它看起来像我之前的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";
        }
})

当使用&#34;输入&#34;时,它总是试图加载&#34; ShowPartDialog&#34;哪个不存在

任何提示都会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

我认为链接和输入之间的拳头差异是输入可以触发默认表单行为。也许e.preventDefault()可以提供帮助。猜猜......