JavaScript实时错误显示?

时间:2010-11-09 21:28:17

标签: javascript error-handling appendchild createtextnode

我需要一种有效的方法来显示我从表单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。我怎么能通过这个?或者还有其他替代方案,更有效的解决方案吗?

1 个答案:

答案 0 :(得分:1)

在HTML中,通常会忽略换行符和空格。要强制换行,您必须使用br标记。您可以轻松地在错误字符串上运行替换,或者只是让函数添加这些标记而不是换行符。

errors.replace( '\n', '<br />' )

然后,您可以将其附加到元素的innerHTML

document.getElementById( 'errors' ).innerHTML += errors.replace( '\n', '<br />' );