問題:
獲取到textarea標籤內的格式(換行符、空格),存入資料庫,展示的時候能夠保留基本格式。
解決思路:
ie9以上、ff、chrome的換行為\n, ie7-8的時候換行為\r\n,空格都為\s
所以需要利用replace把不同瀏覽器的\n和\r\n都替換為html**的,把\s空格替換為html的
注:如果使用jquery的val()獲取textarea的值,取得的值是不含有回車(\r)字元的。但是如果該值是通過 xhr 傳遞給伺服器的,回車(\r)字元會被保留(或者是被瀏覽器新增的,但是在原始資料中並不包含回車(\r))。
該例對\r和\r\n都做了replace替換,實際效果不受影響,只需要注意一下有區別。
**如下
html:
id="text" cols="30" rows="3">
"button"
id="btn" value="測試測試" />
id="show">div>
js:
document.getelementbyid("btn").onclick = function
() ;
擴充套件:
寫乙個公共函式處理該類問題。
/*
* 根據value格式化為帶有換行、空格格式的html**
* @param strvalue 需要轉換的值
* @return 轉換後的html**
* @example
* getformatcode("測\r\n\s試") => 「測
試」 */
var getformatcode=function(strvalue)
呼叫getformatcode即可得到拿到轉換後的**,隨後可按需求自行處理(入庫等)。 textarea換行符轉換
description textarea換行符轉指定字元 param str 要放到textarea的字串 param code 要轉換成換行的字元,預設為 export const textareatostring str,code description 轉為textarea換行符 param ...
textarea和mysql中的換行符問題
今天碰到乙個問題,一直無法解決,後來讓stan幫我搞定了,老手解決問題就是快。問題 我手動在phpmyadmin中輸入了一段帶有換行符的字串,取出來放到中,在通過form表單提交的到乙個頁面。我把 post中的字串 即textarea中的字串 跟資料庫中的原字串對比,怎麼都不相等,最後,找到問題的根...
TextArea 儲存時換行符處理
後台資料儲存時就要處理 r n 替換成 前台 html 頁面顯示時再做下處理。自己是mvc頁面,用到了兩個方法 html.raw 以及httputility.htmldecode 具體 replace r n 前台html頁面顯示時 html.raw httputility.htmldecode m...