0

フォームの送信機能から収集したエラーを効率的に表示する方法が必要です。ここに私のエラー収集機能があります:

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 に答える