0

我需要一种有效的方式来显示我从表单 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。我怎样才能克服这个?或者还有其他更有效的解决方案吗?

4

1 回答 1

1

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

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

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

document.getElementById( 'errors' ).innerHTML += errors.replace( '\n', '<br />' );
于 2010-11-09T22:03:53.473 回答