看板 Web_Design 關於我們 聯絡資訊
※ 引述《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