Отображение ошибок и сообщений в пользовательской форме в jqGrid - PullRequest
2 голосов
/ 19 ноября 2011

Что я пытаюсь добиться, чтобы отображать сообщения в диалоговой форме в виде вопросов и ответов здесь . Однако, хотя в приведенном выше примере в коде по умолчанию используется editGridRow, у меня есть пользовательская диалоговая форма, загруженная через JSON. Например, возвращаемое сообщение об ошибке / проверке JSON может быть:

{"CustomerName":{"isEmpty":"\u201cthis value is - not to be left empty.\u201d"}}

Мне нужно иметь возможность выводить их как «Имя клиента - это значение нельзя оставлять пустым» - в верхней части диалоговой формы.

Я пробовал решения в A , B , C и D , но я не смог настроить их для работы по моему сценарию пока нет.

У меня есть вызов функции так:

function LaunchEditForm(dialog) 
    {
        $('form', dialog).submit(function () 
        {
            $.ajax({
                url: '/customer/update-customer/',
                type: this.method,
                reloadAfterSubmit: true,    
                data: $(this).serialize(),
                success: function (result) 
                {
                    if (result.success) 
                    {
                        console.log(result);
                       //can I call a function here to prepend modal form
                       //with success message? how please?
                    } 
                    else 
                    {
                        console.log(result);
                        // can I prepend the dialog to show model errors here?
                        //var errorDetail = jQuery.parseJSON(result.responseText);
                    }
                }


            });
            return false;
        });
    }

Я пытался использовать afterSubmit примерно так:

afterSubmit: function (response, postdata) 
                    {
                        if (response.responseText == "Success") 
                        {
                            jQuery("#success").show();
                            jQuery("#success").html("Customer successfully updated");
                            jQuery("#success").fadeOut(6000);
                            return [true, response.responseText]
                        }
                        else 
                        {
                            return [false, response.responseText]
                        }
                    }

Это еще не сработало - возможно, я поместил его в другую область

а также пробовал errorTextFormat примерно так:

errorTextFormat: function (data) 
                    {
                        if (data.responseText.substr(0, 6) == "<html ") 
                        {
                            return jQuery(data.responseText).html();
                        }
                        else 
                        {
                            return "Status: '" + data.statusText + "'. Error code: " + data.status;
                        }
                    }

Пожалуйста, помогите с этим. Я знаю, что мне нужна какая-то функция, которая успешно анализирует JSON и, надеюсь, выдает ошибки и сообщения Олег описал

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