textarea提交内容换行无效的解决方法

当我们在页面上通过 textarea 提交数据的时候,我们我们输入的内容在提交后都会被处理为了一段内容,即使我们在 textarea 里面输入了很多的换行,提交后也是一段内容,那如果我们需要将我们输入的信息按照输入的形式保存下来该如何做呢?

这里面存在一个主要的问题是在页面显示的时候换行符是 <br /> 标签,而内容在 textarea 中显示时的换行符是 \n ,下面介绍一种方法通过 js 将输入的内容中的换行符转换为网页中的换行符。在网页数据提交钱作如下处理即可。

  1. <script type="text/javascript">  
  2. //回车转换行 
  3. var content=document.getElementById("content").value;  
  4. contentcontent=content.replace('\n','<br />');  
  5. document.getElementById("content").value=content
  6. //然后提交 
  7. </script> 

在页面中显示的时候同样需要经过一下处理,与以上处理过程正好相反:

  1. content=content.replace('<br />','\n'); 

下面对 js 的 replace 函数做一下解释:

语法

stringObject.replace(regexp/substr,replacement)

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

一、替换单个字符

  1. <script language="javascript"> 
  2. var str="javascript is a good script language"
  3. alert(str.replace("a","A"));//输出jAvascript is a good script language 
  4. </script> 

二、替换字符串中存在的指定的所有字符(全部替换)

  1. <script language="javascript"
  2. var str="javascript is a good script language"
  3. alert(str.replace(/a/g,"A"));//输出jAvAscript is A good script lAnguAge 
  4. </script> 

上述的/g,是正则表达式,这说明,在replace()还可以使用正则表达式。

当然replace还有更高级的用法,大家可以相关文档获取更多更多的高级用法。

转载请注明:代码家园 » textarea提交内容换行无效的解决方法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)