Textarea - br标签的新行,然后是特殊字符

时间:2012-01-24 22:36:07

标签: javascript jquery

我有一个带有以下ID的文本区域:#openingHours

文本区域包含信息,例如:

<textarea id="openingHours">
    Mon-Fri 8am - 6pm
    Sat-Sun 9am - 3pm
</textarea>

我想得到textarea的值,并用break标签替换新行。

Mon-Fri 8am - 6pm<br/>Sat-Sun 9am - 3pm

注意它是如何在一行上的。

我怎样才能做到这一点?所有数据必须在同一行,由
标签分隔,html编码为特殊字符。

谢谢。

3 个答案:

答案 0 :(得分:1)

您可能正在寻找

string htmlEncoded = Server.HtmlEncode(text);

在javascript中执行

function htmlEncode(value)
{   
return $('<div/>').text(value).html(); 
}
抱歉,最初没有看到javascript。

答案 1 :(得分:1)

您可以将\n替换为<br/>

http://jsfiddle.net/eBHgc/2/

<textarea id="openingHours">
    Mon-Fri 8am - 6pm
    Sat-Sun 9am - 3pm
</textarea>

var content = $('#openingHours').html().replace('\n', '<br/>');

答案 2 :(得分:0)

尝试将以下内容另存为html,看看textarea中的换行符是如何工作的, 在IE和Chrome上测试

<script type="text/javascript">
function changeValue(foo)
{
 var spvNotStr = "line1<br>line2<br>line3<br>"; 
 var mySplitResult = spvNotStr.split("<br>");
    for(i = 0; i < mySplitResult.length; i++){

         document.forms[0].elements['foo'].value +=  mySplitResult[i]+'\n';
    }
}
</script>


<form action="#">
<textarea name="foo" rows="10" cols="50"></textarea>
<hr />
<a href="#" onclick="changeValue('bar');">click</a>
</form>I hope that helps you out.