2011-01-22 2 views
0

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

Это мой ответ (извлекается из Firebug консоли)

"status":"error", 
"messages":{ 
    "email":{ 
     "emailAddressInvalidFormat":"'asd' is no valid email address in the basic format [email protected]" 
    } 
} 

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

$.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.

ответ

4

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

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

+0

Вы правы. Спасибо за ответ. –

Смежные вопросы