我有一个表格,我在jqgrid中使用添加/编辑弹出窗口
@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id = "formId" }))
{
//...
}
当我点击表格打开的行时。如果我按文本框并单击ENTER,则此表单提交。它提交为常规的帖子请求,而不是使用jqgrid。但如果我单击“保存”按钮,它将按要求运行。
buttons: {
'Save': function () {
if ($('#formId').valid()) {
$.ajax({
type: 'POST',
url: '@Url.Action( "Action", "Controller" )',
data: $('#formId').serialize(),
success: function (json) {
$("#grid").trigger("reloadGrid");
},
error: function (e) {
alert("Unable to save." + e);
},
dataType: "application/JSON"
});
$("#divForm").dialog('close');
}
},
但是当我点击ENTER时,我想要点击保存按钮。
答案 0 :(得分:0)
尝试订阅表单的提交事件:
<div id="formContainer">
@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id = "formId" }))
{
...
}
</div>
然后:
$('#formContainer').delegate('#formId', 'submit', function (evt) {
evt.preventDefault();
if ($(this).valid()) {
$.ajax({
type: this.method,
url: this.action,
data: $(this).serialize(),
success: function (json) {
$('#grid').trigger("reloadGrid");
},
error: function (e) {
alert("Unable to save." + e);
},
});
}
});
现在在Save
按钮点击强制表单提交:
'Save': function () {
$('#formId').submit();
}
但可能最好使用表单的提交按钮提交表单。