2011-01-22 55 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()方法用于设置和检索表单标签中的信息。使用text()方法代替它:

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

+0

你是对的。感谢你的回答。 – 2011-01-22 17:09:44