textarea 換行操做

在 textarea 中輸入回車符,提交表單時,傳給後臺的是 '\n' 或者 '\r\n'(在IE下,換行符傳入\r\n;在Firefox和谷歌瀏覽器下,換行符只傳入了\n)。html

樓主也作了一個案例,讓 textarea 裏的值和 div 裏的值相互轉換,如圖:瀏覽器

html 代碼:spa

<textarea id="test1"></textarea>
<input type="button" id="submit1" value="提交">
<div id="test2"></div>
<input type="button" id="submit2" value="提交">
<textarea id="test3"></textarea>

在 test1 中輸入一個 abc,而後換行再輸入 abc,點擊第一個提交,在 test2 中顯示 test1 的值,不處理的話,結果是'abc abc',換行符在 test1 裏顯示一個空格符而已,處理辦法是:code

$('#submit1').on('click', function () {
    var text = $('#test1').val();
    $('#test2').html(text.replace(/\r/ig, "").replace(/\n/ig, "<br>"));
})

經過兩次替換(處理上面提到的瀏覽器兼容問題)就能把換行符換成 '<br>'。htm

而後再把 test2 裏的內容顯示在第二個 textarea 裏,也就是把 '<br>' 再換成 '\r\n' 就行。blog

$('#submit2').on('click', function () {            
    var text = $('#test2').html();
    $('#test3').val(text.replace(/<br\s*\/?\s*>/ig, '\r\n'));
})

'<br\s*\/?\s*>' 表示 br 標籤,<br>是HTML寫法,<br/>是XHTML1.1的寫法,也是XML寫法,<br />是XHTML爲兼容HTML的寫法,也是XML寫法。input

相關文章
相關標籤/搜索