JQGrid нажав ВВОД во всплывающем окне РЕДАКТИРОВАТЬ - PullRequest
0 голосов
/ 24 сентября 2011

У меня есть форма, которую я использую в 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, это было бы как нажатие кнопки сохранения.

1 Ответ

0 голосов
/ 24 сентября 2011

Попробуйте подписаться на событие отправки в форме:

<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();
}

но, вероятно, было бы лучше использовать кнопку отправки формы для отправки формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...