[ js ] .focus()切換問題
最近要寫一個條碼掃描輸入介面
也知道條碼器在掃描後會有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
08/23 09:40, 1F
→
08/23 09:52, , 2F
08/23 09:52, 2F
→
08/23 10:03, , 3F
08/23 10:03, 3F
→
08/23 11:00, , 4F
08/23 11:00, 4F
→
08/23 11:01, , 5F
08/23 11:01, 5F
→
08/23 11:02, , 6F
08/23 11:02, 6F
→
08/23 11:03, , 7F
08/23 11:03, 7F
→
08/23 11:03, , 8F
08/23 11:03, 8F
推
08/25 07:44, , 9F
08/25 07:44, 9F
→
09/04 06:11, , 10F
09/04 06:11, 10F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章