JavaScript 实时错误显示?

Posted

技术标签:

【中文标题】JavaScript 实时错误显示?【英文标题】:JavaScript Live Error Display? 【发布时间】:2011-05-07 12:46:45 【问题描述】:

我需要一种有效的方式来显示我从表单 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】:

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

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

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

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

【讨论】:

仍然没有骰子。只注册和显示一个空格。 哦,我傻了,文本节点当然是文本节点,不解析html。如果要使用html,需要在代码中设置节点的innerHTML。否则,您必须在每个包含单行的文本节点之间创建一个新的 br 元素。

以上是关于JavaScript 实时错误显示?的主要内容,如果未能解决你的问题,请参考以下文章

JQuery

JavaScript实现页面实时显示时间

javascript 怎么获得iframe里的网页的地址

rails4 rake assets 在生产环境中预编译生成错误的javascript文件

前端入门12-JavaScript语法之函数

前端入门7-JavaScript语法之相关术语