我正在使用常规文本框作为文本输入,用户可以在其中记录他们的评论。然后我使用JQuery和JSON将数据发送到服务器,然后将其插入数据库。
当我想显示这个文本时,我使用jQuery下载它准备HTML并在浏览器中显示它,但是没有新行。
如何保留用户输入的任何换行符,以便它们显示在浏览器中?
编辑:
问题在于,当我提醒$('。detailsCommentContent')。val()时,我可以在警报窗口看到换行符,但是当我将其作为GET参数传递时:
insertComment.aspx?id = 10& content =“+ $('。detailsCommentContent')。val()”
然后在网址中没有newLine的迹象:(
答案 0 :(得分:2)
就像这样的回答:keep formatting entered in asp.net textbox (carriage return, new line, etc)
theStringYouWantToFormat.Replace(char.ConvertFromUtf32(13),"<br/>")
答案 1 :(得分:2)
在使用javascript向页面写出HTML之前,请务必使用<br />
标记替换所有换行符。这是一个简单的字符串扩展,允许您使用javascript(source):
String.prototype.NewlineToBR = function() {
return this.replace( /\r\n|\r|\n/g, br || '');
}
用法:
var htmlString = newlineString.NewlineToBR();
然后只需将新字符串插入HTML。
答案 2 :(得分:1)
你想在哪里显示文字?在textarea或直接在页面上?
如果在页面上,当从数据库获取文本并将其打印到页面时,您必须将换行符转换为<br/>
标记。
答案 3 :(得分:-2)
我相信这取决于你正在使用的编码。 unicode和ascii之间的区别或类似的东西。我做了类似的事情已经有一段时间了,但我认为它归结为两种选择。