碰到一个问题,JavaScript的一个字符串直接用console.log()打印出来是会换行的,但是如果把它放入<id=”test” input type=”hidden” val=str>中,再把str取出打印,str没有了换行符。我用的jquery对input标签赋值和取值的如$(“test”).val()这种方式。不知道是框架过滤掉了还是input标签的value不支持换行符。
还有这个表单域最终会存入数据库中,不知道数据库支不支持换行。
下面给出一个解决方案,将字符串中的\r\n,\n等换行符先替换成<br\>,然后从数据库中取出的时候再换回来
代码
//存入替换
str = str.replace(/\n/g, "<br/>").replace(/\s/g, " ");
//取出替换
str = str.replace(/<br\/>/g, "\n");