当在代码中提交MVC表单时,jQuery的on('submit'...)方法不起作用

时间:2019-10-29 05:46:06

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

我无法使用以下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中处理click事件。我这样做是因为我想通过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)事件。知道我该怎么办吗?

谢谢

2 个答案:

答案 0 :(得分:0)

尝试以下一个

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

答案 1 :(得分:0)

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

$(“#claimOrderSubmit”)。trigger('click')..

我认为这样做会...