我使用JQuery 3和AJAX提交表单如下:
$("#send-question").on("submit", function (event) {
event.preventDefault();
$.post("api/questions", { content: "content" })
.done(function (data, status, xhr) {
console.log(data);
})
.fail(function (xhr, status, error) {
var errors = $.parseJSON(xhr.responseText);
$(this).find(":input[name]");
});
});
对象错误是一个对象数组,例如:
{ flag="content", info="the content is required" }
我需要在表单中找到具有name属性的所有输入。
然后,如果名称与数组中的一个错误上的标志相匹配,则只需在输入后的范围内添加信息:
input.parent().append("<span class='error'>" + error.info + "</span>");
我只是不确定如何找到哪些输入在数组中有错误。
答案 0 :(得分:1)
浏览每个错误并查找包含内容名称的输入。可能看起来像这样
errors.forEach(function(element, index, array){
$('input[name="'+element.flag+'"]')
.parent()
.append("<span class='error'>" + element.info + "</span>");
})