Javascript 模式对话框中输入和输入之间的差异

Javascript 模式对话框中输入和输入之间的差异,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我正在制作一个mvc模式对话框。当用户单击modal按钮时,我会调用Ajax来加载对话框内容。当用户单击模式对话框上的“更新”按钮时,我再次调用Ajax来更新数据库并关闭对话框。我在模态对话框中的“更新”按钮上发现一个问题 如果我使用“a”作为更新按钮 <a href="#" id="partDialogSubmit" class="btn btn-success btn-block"> <span>Update</span> </a>

我正在制作一个mvc模式对话框。当用户单击modal按钮时,我会调用Ajax来加载对话框内容。当用户单击模式对话框上的“更新”按钮时,我再次调用Ajax来更新数据库并关闭对话框。我在模态对话框中的“更新”按钮上发现一个问题

如果我使用“a”作为更新按钮

    <a href="#" id="partDialogSubmit" class="btn btn-success btn-block"> <span>Update</span>  </a>
以下是我的模式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()会有所帮助。只是猜测…

您的输入元素不仅仅是一个按钮,它是一个提交按钮。如果它位于表单元素内,则单击它将提交表单,从而导致页面重新加载/重定向。请改为尝试
type=“button”
var showPartDialog = function(partID, modalBodyDiv, modalTag)
{
var url = "/Part/ShowPartDialog?Id=" + partID;
$("#partModalBodyDiv").load(url, function () {
    $(modalTag).modal("show");
})
}
$("#partDialogSubmit").click(function () {
    var myformdata = $("#partDialogForm").serialize();
    $.ajax({
        type: "POST",
        url: "/Part/UpdatePart",
        data: myformdata,
        success: function () {
            window.location.href = "/Part/Index";
        }
})