在代码中提交 mvc 表单时,jQuery on('submit'...) 方法不起作用
Posted
技术标签:
【中文标题】在代码中提交 mvc 表单时,jQuery on(\'submit\'...) 方法不起作用【英文标题】: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) 事件。知道我该怎么做吗?
谢谢
【问题讨论】:
【参考方案1】:试试下面一个
$('#claimOrderForm').addEventListener('click',function(e)
//your function code
);
【讨论】:
【参考方案2】:您可以触发该按钮的点击事件...
$("#claimOrderSubmit").trigger('click')..
我觉得这样就可以了……
【讨论】:
以上是关于在代码中提交 mvc 表单时,jQuery on('submit'...) 方法不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Jquery AJAX 调用 MVC Action 然后在 MVC 中提交表单?
当表单在 ASP.NET MVC 5 应用程序中有效时触发 jQuery 函数