当前位置:首页 > JS实例:利用键盘上的上下左右键快速填写表单

JS实例:利用键盘上的上下左右键快速填写表单

点击次数:2051  更新日期:2011-01-05
\n

做一个提交表单,里面有很多内容要填写,找了一段JS,实现利用键盘上的上下左右键快速填写表单,原代码:


\n

<html>
<head>
<title>设计家园 http://www.dwww.cn</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>
<script language=”javascript”>
var cols=3;
var obj;
var CanMove=false;
var key;
function setobj(input){
obj=input;
}


\n

function init(){
document.onkeydown=keyDown;
document.onkeyup=keyUp;
}


\n

function keyDown(DnEvents){
var key=window.event.keyCode;
if(key==116){
window.event.keyCode=0;
return false;
}
if(key==8){
if(event.srcElement.tagName!=”INPUT”){
event.cancelBubble = true;
event.returnValue = false;
return false;
}
}
//此处为按下ctrl 注释此处可以实现不需要ctrl
//var IsCtrl=window.event.ctrlKey;
//if(!IsCtrl){
// return;
//}


\n

for(var i=0;i<document.forms[0].elements.length;i++){
if(document.forms[0].elements[i]==obj){
if (key == 37){//←
if(i>0){
document.forms[0].elements[i-1].focus();
}
}
if (key == 38){//↑
if(i>cols-1){
document.forms[0].elements[i-cols].focus();
}
}
if (key == 39){//→
if(i<document.forms[0].elements.length-1){
document.forms[0].elements[i+1].focus();
}
}


\n

if (key == 13)
{//→
event.keyCode = 9;
}
if (key == 40){//↓
if(i<document.forms[0].elements.length-cols){
document.forms[0].elements[i+cols].focus();
}
}
}
}


\n

}


\n

function keyUp(UpEvents){
return false;
}
</script>
</head>


\n

<body bgcolor=”#FFFFFF” text=”#000000″ onload=”init()”>
<form action=http://dwww.cn>
<table border=”0″ cellspacing=”0″ cellpadding=”0″ align=”center”>
<tr>
<td>
<input type=”text” name=”textfield” onfocus=”setobj(this)”>
</td>
<td>
<input type=”text” name=”textfield2″ onfocus=”setobj(this)”>
</td>
<td>
<input type=”text” name=”textfield3″ onfocus=”setobj(this)”>
</td>
</tr>
<tr>
<td>
<input type=”text” name=”textfield5″ onfocus=”setobj(this)”>
</td>
<td>
<input type=”text” name=”textfield6″ onfocus=”setobj(this)”>
</td>
<td>
<input type=”text” name=”textfield7″ onfocus=”setobj(this)”>
</td>
</tr>
</table>
</form>
用Ctrl+方向键可以方便的在控件中移动,也可以不要Ctrl的。
</body>
</html>

\n