@hunter129

          天天學習,好好向上!

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            21 隨筆 :: 5 文章 :: 37 評論 :: 0 Trackbacks
            在textarea中輸入的文本。如果含有回車或空格。在界面上顯示的時候則不哪么正常。回車消失了,空格變短了。
          如何解決這個問題呢。有2種方法。
          1.使用<pre>標簽
             w3c對pre元素是這樣定義的:pre 元素可定義預格式化的文本。被包圍在 pre 元素中的文本通常會保留空格和換行符。而文本也會呈現為等寬字體。
             更詳細的內容請參考 http://www.w3school.com.cn/tags/tag_pre.asp
             也就是說包含在pre標簽中的回車和空格會正常的顯示出來。包括你在頁面代碼中輸入的。所以如果使用pre元素你需要這樣寫:
            
          <pre>要輸出的文本</pre>
             ,而不是這樣:
            
            <pre>
                要輸出的文本
            
          </pre>
             后一種寫法 文本前的空白也會被顯示的。除非你真的希望這樣:)
          2.對文本內容進行替換。
            回車和空格不能正確顯示,究其原因是他們各自的表示方式不同。在textarea里面輸入的回車是字符"\r",html中的回車(換行)是"<br/>"。
            textarea中輸入的空格是空白" ",而html中的一個空格是"&nbsp;"。理所當然不能正確顯示。好了現在知道了原因就有了第二種解決方案了。
            只要我們將輸入的文本中相應的"元素"替換成html認識的就ok了。因此下面一行代碼即可解決問題:
           
          "要輸出的文本".replaceAll(" ","&nbsp;").replaceAll("\r","<br/>");
            等等。這里還有一點小問題。把一個空格替換成一個"&nbsp;"空格看上去仍然要少些。如果你喜歡可以替換成2個。
           
            最后,除了回車和空格以外還有很多空白字符如tab等,如果你喜歡可以一并處理了^_^
           
            最后的最后,如果本來的文本是很長的一行,使用pre標簽后就不會自動換行。結果頁面出現橫向滾動條。不知道有沒有好的解決方法?
            而將第二種方法處理過的文本放在<p>標簽中顯示,就可以顯示正常。
           
          posted on 2008-10-09 21:19 hunter129 閱讀(11964) 評論(13)  編輯  收藏 所屬分類: css基礎

          評論

          # re: 正確顯示taxtarea中輸入的回車和空格 2008-10-10 07:54 charlie's logic
          謝謝分享  回復  更多評論
            

          # re: 正確顯示taxtarea中輸入的回車和空格 2008-10-10 08:07 sitinspring
          總結得不錯。  回復  更多評論
            

          # re: 正確顯示taxtarea中輸入的回車和空格 2008-10-10 08:40 toby941
          受用了  回復  更多評論
            

          # re: 正確顯示taxtarea中輸入的回車和空格 2008-10-10 10:15 二哥
          “使用pre標簽后就不會自動換行”。在table屬性中加上“style="word-break:break-all;table-layout: fixed"”,在顯示的td中加上“style="word-wrap: break-word;"”可以自動換行,如<td style="word-wrap: break-word;"><pre>xxx</pre></td>  回復  更多評論
            

          # re: 正確顯示taxtarea中輸入的回車和空格 2008-10-11 20:29 落Nicety
          @二哥
          這樣設置在ie中確實換行了
          不過在ff中就沒這么幸運了
          依然感謝~~  回復  更多評論
            

          # re: 正確顯示textarea中輸入的回車和空格 2010-02-22 01:41 jameslin
          但是我要在默認值里顯示回車怎做?如果輸入<br/>,它就照搬顯示了  回復  更多評論
            

          # re: 正確顯示textarea中輸入的回車和空格 2010-02-22 09:56 落Nicety
          @jameslin
          不知道你這個默認值是指在textarea中顯示,還是在pre中顯示

          在textarea中默認有個回車這么寫就可以了
          <textarea>

          </textarea>

          在pre中顯示回車,這么寫
          <pre>
          </pre>  回復  更多評論
            

          # re: 正確顯示textarea中輸入的回車和空格 2010-03-17 09:06 游客
          正確顯示textarea中輸入的回車和空格:

          <textarea><pre>要顯示的內容</pre></textarea>

          是這么用嗎?這樣的話,<pre> 標簽也會顯示在textarea中。


          <textarea>"要輸出的文本".replaceAll(" ","&nbsp;").replaceAll("\r","<br/>")<textarea>

          這樣的話,回車符在<textarea>中以<br/>的形式顯示,也不合適,應該怎么處理呢?  回復  更多評論
            

          # re: 正確顯示textarea中輸入的回車和空格 2010-03-23 21:57 落Nicety
          @游客
          不是。。 不知道你想把什么東西顯示在textarea中?

          這篇文章說的是正確的把 textarea 中輸入的東西以html的形式顯示出來。
          不是把內容顯示在textarea中  回復  更多評論
            

          # re: 正確顯示textarea中輸入的回車和空格 2010-12-09 21:58 游客
          erer
          fdsfsf
          sdfsdfsdfsdfsd  回復  更多評論
            

          # re: 正確顯示textarea中輸入的回車和空格 2010-12-09 21:59 游客
          &<nbsp;> Test
          &<nbsp;> &<nbsp;> &<nbsp;> Test  回復  更多評論
            

          # re: 正確顯示textarea中輸入的回車和空格 2010-12-09 22:00 游客
          <br /> sfsd
            回復  更多評論
            

          # re: 正確顯示textarea中輸入的回車和空格[未登錄] 2014-03-13 09:31 00
          999
          00
          00
            回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 出国| 邢台市| 合阳县| 德格县| 娱乐| 阳原县| 陵川县| 扶余县| 合水县| 浦北县| 黄石市| 浠水县| 大宁县| 志丹县| 庐江县| 黑山县| 洱源县| 富锦市| 梁平县| 太仆寺旗| 江达县| 太原市| 宜城市| 都匀市| 阜平县| 浦城县| 尼玛县| 永宁县| 银川市| 沁水县| 通河县| 临泉县| 瓦房店市| 江西省| 交口县| 锡林郭勒盟| 沅陵县| 宜黄县| 吉林市| 庆城县| 唐河县|