我需要一种有效的方法来显示我从表单onsubmit函数中收集的错误。这是我的错误收集功能:
function checkForm(form) {
var errors = "";
errors += checkName(form, form.name.value);
errors += checkSex(form, form.sex.value);
if(form.gender[0].checked || form.gender[1].checked) {
errors += checkGender(form, true);
} else {
errors += checkGender(form, false);
}
errors += checkHeight(form, form.height.value);
errors += checkSalary(form, form.salary.value);
errors += checkCountry(form, form.birthCountry.value);
if(errors) {
document.getElementById("errors").appendChild(document.createTextNode(errors));
return false;
}
return true;
}
不幸的是,createTextNode()似乎不处理新行(\ n)或HTML。我怎么能通过这个?或者还有其他替代方案,更有效的解决方案吗?
答案 0 :(得分:1)
在HTML中,通常会忽略换行符和空格。要强制换行,您必须使用br
标记。您可以轻松地在错误字符串上运行替换,或者只是让函数添加这些标记而不是换行符。
errors.replace( '\n', '<br />' )
然后,您可以将其附加到元素的innerHTML
:
document.getElementById( 'errors' ).innerHTML += errors.replace( '\n', '<br />' );