IE js innerHTML textarea 無換行 處理

.

IE 瀏覽器 javascript id innerHTML 取值,在傳給 textarea 無換行 處理 解決

算是在用 Easy Guest board 留言板 時處理的一個問題,PO出來給大家參考。

避免代碼被瀏覽器解析掉,因此用成圖片,只是範例沒幾行code,簡單流程說明一下。
 
php 用 nl2br 加上換行加br標籤,後 js 用 innerhtml 取 id 內的值,在至 textarea 顯示

( 點圖放大檢視 )
tareajsf01.png

.

firefox 及 chrome 下正常,如下圖:

tareajsf02

tareajsf03

.

IE 下,沒換行效果,如下圖:

tareajsf04

.

這問題在測試easy留言板就發現這小bug,原本懶的處理,
反正留言板大部份都2~3行,沒什麼差,後來用了差不多了,
也想了2~3天,也試了幾種方式,最後才想到是我想錯方向。

IE 無換行,是innerHTML抓取時將換行符去掉了,
所以只需要對innerHTML取出的值做處理,就可解決這問題。

Firefox及Chrome 換行符只有n
IE 換行是回車符r及換行符n

php內將r取代為空,n取代為br標籤,
這樣不論那種瀏覽器結果都會一樣,
在對innerHTML取出的值,將裡面br標籤替換成換行符,
如下圖:

( 點圖放大檢視 )
tareajsf05

.

IE 輸出結果,如下圖:

tareajsf06

.

這應該滿常用到的吧,現在網頁大部份都在單頁上做編輯及處理,
算是重新整理easy guest borad留言板時遇上的問題,
在此做了簡易說明,希望能對大家有所幫助。

.

發表留言

秘密留言

五花八門

 

 

 

友站連結
Welcome
您可以分享文章超連結
,但請不要複製或轉載
文章內容,阿里阿度。
多彩多姿

 

類別
訪客計數器