作者LPH66 (IWH68S0XZ8M89)
看板Web_Design
標題Re: [問題] textarea折行問題
時間Tue Jan 1 19:30:05 2008
※ 引述《SearchNow ( )》之銘言:
: 最近遇到一個棘手進階版textarea斷行問題
: 限制條件 :
: (1) 最多 5 行 (rows=5)
: (2) 每行若達35bytes即折行
: (這裡指的bytes指的是UTF8編碼的bytes 因為要塞入Oracle資料庫裡)
: 判斷方式 escape(輸入的字元).length >= 4
: => 累加 3 bytes
: else => 累加 1 byte
: 照這個邏輯寫的話
: 這個textarea會非常不好用
: js code 請見 : http://0rz.tw/2e3uh
: <textarea onKeyDown="return
: countBytes(event,this,5,5);" rows="5" ></textarea>
: 感謝各位的協助
: 這問題困擾我好久了 Orz~
有charCodeAt這個函數可以用
http://www.w3schools.com/jsref/jsref_charCodeAt.asp
然後UTF-8的長度是這樣:
UTF8長度 Unicode範圍
1 byte U+0~U+7F
2 byte U+80~U+7FF
3 byte U+800~U+FFFF //常用中文字位於U+4E00~U+9FFF
個人以為 最多才5x35=175 byte (175/3=58個中文字...)
不如在離開textarea時再檢查&斷行就好
然後如果是輸入中文的話 一行最多12個字
所以我比較會先用<textarea rows="5" cols="25" wrap="soft">給個視覺上的限制
↑
在離開textarea時(onBlur)再做調整 用25是考慮到英文較多的行
26的話一行可以有13個中文字
到時排好版時右邊會空一個中文寬的空間
有點怪怪的
--
話說那js檔我沒有帳號打不開 囧a
--
実琴:「
河野!你真的就這樣被
物質慾望給吸引過去了嗎?!」
亨:「只要
穿著女裝擺出親切的樣子,所有必要花費就能
全免,似乎一點都不壞啊。」
実琴:「難道你沒有
男人的尊嚴了嗎?!」
亨:(斷然道)「
沒有。在
節衣縮食且
生活吃緊的
學生面前,
沒有那種東西。」
--プリンセス・プリンセス 第二話
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.250.80
推 SearchNow:考量使用者可能一行裡都輸入英文的話 就沒辦法給適當的 01/01 23:55
→ SearchNow:視覺限制了 中英文夾雜都有可能 Orz~ 01/01 23:56