[ js ] .focus()切換問題

看板Ajax作者 (none)時間12年前 (2013/08/23 09:35), 編輯推噓1(109)
留言10則, 5人參與, 最新討論串1/1
最近要寫一個條碼掃描輸入介面 也知道條碼器在掃描後會有ENTER傳入電腦 於是我有五個輸入點,網頁載入時需要自動focus()在第一個 然後每按一次ENTER會focus到下一個 到第五個時會自動把表單傳出 小弟使用jQuery v1.10.2 目前我的程式碼如下 <DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="jquery.js"></script> <script> $(document).ready(function(){ $('#fir').focus(); }) </script> <style> #form_submit { display:none; } </style> </head> <body> <form action="data.php" method="post"> <input id="fir" name="company" type="text" placeholder="廠商"> <input id="sec" name="barcode" placeholder="條碼"> <input id="thr" name="color" placeholder="顏色"> <input id="fou" name="size" placeholder="尺寸"> <input id="fif" name="cost" placeholder="成本"> <input id="form_submit" type="submit" value="提交"> </form> <script> $('#fir').keydown(function(e){ if(e.which==13){ $('#sec').focus(); } }) $('#sec').keydown(function(e){ if(e.which==13){ $('#thr').focus(); } }) $('#thr').keydown(function(e){ if(e.which==13){ $('#fou').focus(); } }) $('#fou').keydown(function(e){ if(e.which==13){ $('#fif').focus(); } }) $('#fif').keydown(function(e){ if(e.which==13){ $('#fif').next('#form_submit').css('display','inline'); } }) </script> </body> </html> 基本上,程式是可以運作&&符合需求 但是...程式碼如此肥(input少),如果input有幾百個 那會很可怕,所以想說問有沒有更好的寫法... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.22.161.199 ※ 編輯: xeriou 來自: 211.22.161.199 (08/23 09:42)

08/23 09:40, , 1F
用attr
08/23 09:40, 1F

08/23 09:52, , 2F
每個 keydown 事件內容都長得一樣,寫在一起就好了
08/23 09:52, 2F

08/23 10:03, , 3F
http://jsfiddle.net/ZGsZt/ 這樣要幾個 input 都沒問題
08/23 10:03, 3F

08/23 11:00, , 4F
感謝akiratw大...短短幾行程式碼讓我更了解怎麼操作JS...
08/23 11:00, 4F

08/23 11:01, , 5F
現在遇到問題,只要有那個button在,只要ENTER他就會送出
08/23 11:01, 5F

08/23 11:02, , 6F
.preventDefault()似乎起不了作用~"~....
08/23 11:02, 6F

08/23 11:03, , 7F
可是你貼給我的又是對的,所以我索性就把button給砍了...
08/23 11:03, 7F

08/23 11:03, , 8F
這樣也可以送出...只是那問題還得再找...
08/23 11:03, 8F

08/25 07:44, , 9F
return false試試?
08/25 07:44, 9F

09/04 06:11, , 10F
bind form的submit 然後preventDefault(可以順便做檢查
09/04 06:11, 10F
文章代碼(AID): #1I5hnhU- (Ajax)
文章代碼(AID): #1I5hnhU- (Ajax)