Добавить сообщения об ошибках, чтобы сформировать с помощью jQuery - PullRequest
0 голосов
/ 22 января 2011

После публикации jQuery моих данных формы я возвращаю объект JSON.Если форма недействительна, статус устанавливается как «ошибка», и сообщения добавляются там, где именно произошла ошибка.

Это мой ответ (получен из консоли Firebug)

"status":"error",
"messages":{
    "email":{
        "emailAddressInvalidFormat":"'asd' is no valid email address in the basic format local-part@hostname"
    }
 }

Вставка сообщения, когда форма была действительной, работает отлично.Теперь я использую этот код для добавления сообщений об ошибках при сбое формы:

$.each(data.messages, function(element, errors) {
    var ul = $("<ul>").attr("class", "errors");
    $.each(errors, function(name, message) {
        ul.append($("<li>").val(message));
    });

    $("#" + element).after(ul);
});

Я заметил, что элемент и сообщение в порядке (проверено с помощью console.log()).Я думаю, что это идет не так из-за (второго) цикла, потому что в других местах этот похожий кусок кода работает нормально.Я уверен, что HTML не вставлен в DOM, я проверял это и с Firebug.

1 Ответ

4 голосов
/ 22 января 2011

val () метод используется для установки и извлечения информации из тегов формы.Вместо этого используйте метод text ():

ul.append($("<li>").text(message));

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