【问题标题】:jQuery on('submit'...) method doesn't work when mvc form is submitted in code在代码中提交 mvc 表单时,jQuery on('submit'...) 方法不起作用
【发布时间】:2020-02-24 08:55:26
【问题描述】:

我在点击以下 jquery .on() 方法时遇到了问题。我的代码根本无法访问它:

$('#claimOrderForm').on('submit', function (e) {
    e.preventDefault();
});

我有一个 mvc 表单,我正在提交表单并通过 javascript 将其保存到控制器。它保存得很好,但是另外,我想调用 on(submit) 事件来防止 jquery 刷新,但我一直无法这样做。

我的代码如下:

查看 - 表单开始

@using (Ajax.BeginForm("ClaimOrder", "ClaimOrders", null, ajaxOptions, new { @id = "claimOrderForm", enctype = "multipart/form-data" }))

查看 - 提交按钮

此提交按钮已隐藏。我在javascript中处理点击事件。我这样做是因为我想通过 jQuery 对话框按钮处理所有保存:

<input id="claimOrderSubmit" type="submit" style="display:none;"/> 

Javascript - 对话框

claimOrder.dialogElem = claimOrder.findDialogContainer().dialog({
        autoOpen: false,
        height: 500,
        width: 800,
        modal: true,
        buttons: [
            {
                id: "claimOrderSaveButton",
                text: "Save",
                click: function () { claimOrder.SaveClaimOrder(); }
            },
            {
                id: "claimOrderCloseButton",
                text: "Close",
                click: function () { claimOrder.closeClick(); }
            }
            ],
            close: function () { clinicalReview.closeEvent(); }
    });

Javascript - 保存

claimOrder.prototype.SaveClaimOrder = function () {
try {
    var methodName = "claimOrder.SaveClaimOrder ";
    var form = $("#claimOrderForm");
    var url = site.baseUrl + "ClaimOrders/ClaimOrder";
    form.prop("action", url);
    $("#claimOrderSubmit").click();
} catch (ex) {
    alert("error in " + methodName + ". ex:" + ex);
}
 };

就像我说的那样,我的 javascript 很好地传递给了我的 mvc ActionResult 并且一切都成功保存了,但是我无法在我的 javascript 中点击那个 on(submit) 事件。知道我该怎么做吗?

谢谢

【问题讨论】:

    标签: javascript jquery asp.net-mvc model-view-controller


    【解决方案1】:

    试试下面一个

    $('#claimOrderForm').addEventListener('click',function(e){
    //your function code
    });
    

    【讨论】:

      【解决方案2】:

      您可以触发该按钮的点击事件...

      $("#claimOrderSubmit").trigger('click')..

      我觉得这样就可以了……

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-20
        • 2020-10-21
        • 1970-01-01
        • 2011-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多