當在使用textarea的時候,有一次需求,需要做到自定義換行,而不是通過textarea定寬來自動換行,其實在html中可以直接通過<br/>來換行,同時也想到用\n來實現換行,其結果是根本不鳥你。
<textarea cols="50" rows="5" id="textareaid">"adfsadfs<br/>fddsadfds \n dfadadf"</textarea>
百度幾翻網上確實有說可以用\r\n去實現換行,如果只兼容微軟系統的話直接\n即可,但是實驗確實不行,后面想到是不是必須通過JS賦值才可以實現,於是出現如下代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <textarea cols="50" rows="5" id="textareaid">"adfsadfs<br/>fddsadfds \n dfadadf"</textarea> <script type="text/javascript"> document.onclick=function(){ alert(1); var str='5456455d4fgdfgdgdg \n dsfafdadfadfafa'; document.getElementById("textareaid").value=str; } </script> </body> </html>
成功的實現了textarea換行,所以我推斷,要想實現textarea換行,必須得動態JS賦值才行。
樓下有大牛@ wangmeijian 給出解決方法,如果不想動態JS賦值就實現換行:可以通過輸入HTML實體換行符“ ”來實現換行,確實可行,nice!
注:百度上有說明要想實現兼容linux,unix,Mac OS,window,可以把\n換成\r\n,但我在蘋果系統下用\n也實現了換行,linux,unix系統下沒測試,求解
個人知識有限,如有錯誤的地方還望指正,共同學習共同進步!