JQGrid 在编辑弹出窗口中单击 ENTER

发布于 2024-12-06 05:17:01 字数 1175 浏览 0 评论 0原文

我有一个在 jqgrid 中添加/编辑弹出窗口中使用的表单,

@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id = "formId" }))
{
//...
}

当我单击表单打开的行时。如果我按文本框并单击 ENTER,则此表单会提交。它作为常规的 post 请求提交,而不是使用 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 时,这将作为保存按钮单击。

I have a form that i use in jqgrid in add/edit popup

@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id = "formId" }))
{
//...
}

When i click a row that form opens. If i press the textbox and click ENTER this form submits. And it submits as a regular post request, not by using jqgrid. But if i click on the Save button it works as required.

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');
                        }
                    },

But i want that when i click ENTER that will be as the save button click.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

狂之美人 2024-12-13 05:17:01

尝试订阅表单的提交事件:

<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': function () {
    $('#formId').submit();
}

但可能最好使用表单的提交按钮来提交表单。

Try subscribing for the submit event of the form:

<div id="formContainer">
    @using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id = "formId" }))
    {
        ...
    }
</div>

and then:

$('#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);
            },
        });
    }
});

and now in the Save button click force the form submission:

'Save': function () {
    $('#formId').submit();
}

but probably it would be better to use the form's submit button to submit a form.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文