使用jQuery将错误消息附加到表单

时间:2011-01-22 15:28:47

标签: jquery ajax json

在我的表单数据的jQuery帖子之后,我得到了一个JSON对象。当表单无效时,状态将设置为“error”,并且会在错误确实发生的位置附加消息。

这是我的回复(从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 个答案:

答案 0 :(得分:4)

val()方法用于设置和检索表单标签中的信息。使用text()方法代替它:

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