[問題] 限制一堆的textarea...

看板Ajax作者 (UenoJuri)時間15年前 (2010/04/15 20:10), 編輯推噓2(209)
留言11則, 4人參與, 最新討論串1/2 (看更多)
各位好 我想寫一個外觀3列 20行的textarea 但是因為要加上一些限制 所以勢必要用到javascript 我的限制是 1.使用者最多最多只能輸入60個字元 2.最多只能打到三行 3.每一行最多只能20個字元 前面這幾項都可以寫出來 重點在輸入途中可以跳到之前打的文字中繼續插入文字 或是在任意地方亂按Enter Backspace Delete 然後又不會違反前面三個限制 要考慮非常多可能的case來做字數以及行數的判斷 已經寫了好幾天了 一直都有bug在 = = 不曉得textarea有辦法取得某個index的字元嗎? 比如說 textarea內容為 "abcde" 則xxx.value [3]就是 d 之類的 內部的value有辦法轉換存到一個array上嗎? 變成 A[0] = 'a', A[1] = 'b', ... 依此類推 請問有大大可以指點一下嗎! 或是有其他更好的方法? 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.209.165 ※ 編輯: chenwj 來自: 220.136.209.165 (04/15 20:13)

04/15 20:27, , 1F
可以啊 , 先取textarea.value 然後再做substring
04/15 20:27, 1F

04/15 20:28, , 2F
更簡單的方法 , alert("hello"[0]); 字串本身就是char array
04/15 20:28, 2F

04/15 21:58, , 3F
判斷 \r\n 或 \n 的數量來限制行數?
04/15 21:58, 3F

04/15 23:03, , 4F
/^[^\r\n]{0,20}(\r\n[^\r\n]{0,20}){0,2}$/.test(value) //IE
04/15 23:03, 4F

04/15 23:04, , 5F
/^[^\n]{0,20}(\n[^\n]{0,20}){0,2}$/.test(value) //Firefox
04/15 23:04, 5F

04/16 01:04, , 6F
請問No大 這行是要加在哪邊呢 不是很清楚 @@
04/16 01:04, 6F

04/16 01:24, , 7F
檢查你那三個條件用的,不過我覺得你的問題好像不是出在這 囧
04/16 01:24, 7F

04/16 01:26, , 8F
我猜你要的應該是輸入的時候,若結果不符合規則就輸入無效這樣?
04/16 01:26, 8F

04/16 15:41, , 9F
onChange ?
04/16 15:41, 9F

04/16 16:27, , 10F
onKeydown 紀錄資料 , onkeyup決定要不要放棄這次輸入 XD
04/16 16:27, 10F

04/16 16:27, , 11F
其實也可以考慮在onkeydown 決定要不要return false
04/16 16:27, 11F
文章代碼(AID): #1Bnm8zgD (Ajax)
文章代碼(AID): #1Bnm8zgD (Ajax)