.
IE 瀏覽器 javascript id innerHTML 取值,在傳給 textarea 無換行 處理 解決
算是在用 Easy Guest board 留言板 時處理的一個問題,PO出來給大家參考。
避免代碼被瀏覽器解析掉,因此用成圖片,只是範例沒幾行code,簡單流程說明一下。
php 用 nl2br 加上換行加br標籤,後 js 用 innerhtml 取 id 內的值,在至 textarea 顯示,如下圖:
( 點圖放大檢視 )
.
firefox 及 chrome 下正常,如下圖:
.
IE 下,沒換行效果,如下圖:
.
這問題在測試easy留言板就發現這小bug,原本懶的處理,
反正留言板大部份都2~3行,沒什麼差,後來用了差不多了,
也想了2~3天,也試了幾種方式,最後才想到是我想錯方向。
IE 無換行,是innerHTML抓取時將換行符去掉了,
所以只需要對innerHTML取出的值做處理,就可解決這問題。
Firefox及Chrome 換行符只有n
IE 換行是回車符r及換行符n
php內將r取代為空,n取代為br標籤,
這樣不論那種瀏覽器結果都會一樣,
在對innerHTML取出的值,將裡面br標籤替換成換行符,
如下圖:
( 點圖放大檢視 )
.
IE 輸出結果,如下圖:
.
這應該滿常用到的吧,現在網頁大部份都在單頁上做編輯及處理,
算是重新整理easy guest borad留言板時遇上的問題,
在此做了簡易說明,希望能對大家有所幫助。
.
沒有留言:
張貼留言
由於經常被灌水, 所以您再發表留言之後, 需要耐心的等待博客主之審核, 於審核過後才會公開您的留言, 因此請您不要重複的留言, 謝謝您的留言
Hello my friend, I have no money, My blog is super chill, Please do not screw me in the replies at the bottom of the article, thank you very much