用上下光标吧,我这就是这么用的。
<script language=javascript>
function numok(fname) //fname为取出当前input的变量
{
ok1=window.event.keyCode;
var k1;
if(ok1==38)
{
for(k=1;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{k1=k-1;
add.elements[k1].focus();
}
}
}
if(ok1==40)
{
for(k=1;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{k1=k+1;
add.elements[k1].focus();
}
}
}
}
</script>
<form name=add>
<input name=a1 onKeyDown="return numok(this.name)">
<input name=a2 onKeyDown="return numok(this.name)">
<input name=a3 onKeyDown="return numok(this.name)">
</form>
<script language=javascript>
function numok(fname) //fname为取出当前input的变量
{
ok1=window.event.keyCode;
var k1;
if(ok1==38)
{
for(k=1;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{k1=k-1;
add.elements[k1].focus();
}
}
}
if(ok1==40)
{
for(k=1;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{k1=k+1;
add.elements[k1].focus();
}
}
}
}
</script>
<form name=add>
<input name=a1 onKeyDown="return numok(this.name)">
<input name=a2 onKeyDown="return numok(this.name)">
<input name=a3 onKeyDown="return numok(this.name)">
</form>
解决方案 »
- php 函数怎么在JS里调用啊?! 求大神?!
- 关于ExtJs JsonStore复制的问题
- 高手们看下怎么停掉settimeout
- js的小问题! 添加行之后的问题
- for x in getElementByTagName[x]这样写对吗
- 为什么在后台设置层的位置显示不出来啊?急死人啊!
- 关于循环比较的问题,总得不到想要的结果,很急,恳求大家帮忙,分不够再加
- 两个IE窗口间form对象引用的问题
- 关于可修改的表格:哪位给个方案。。。
- 如何让一张图片超过了显示区域大小后,自动缩小为最适应呢. (原来的有问题)详见内
- 是否JS写的代码封装的问题?
- 怎樣動態改變TABLE的datasrc的兩個問題
我其实上下左右键都要用的,上下键我可以实现了,现在就要求按提出的问题来做。
还过还是谢谢你
function numok(obj) //fname为取出当前input的变量
{
var fname=obj.name;
var k1;
ok1=window.event.keyCode; if(ok1==38)
{
for(k=1;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{k1=k-1;
add.elements[k1].focus();
}
}
}
if(ok1==40)
{
for(k=0;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{k1=k+1;
add.elements[k1].focus();
}
}
}
if(ok1==37||ok1==8)
{
var s=document.selection.createRange();
s.setEndPoint("StartToStart",obj.createTextRange())
if(s.text.length<1)
{
for(k=1;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{k1=k-1;
add.elements[k1].focus();
}
}
}
} if(ok1==39)
{
var s=document.selection.createRange();
s.setEndPoint("StartToStart",obj.createTextRange())
if(obj.value.length-s.text.length<1)
{
for(k=0;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{k1=k+1;
add.elements[k1].focus();
}
}
}
}
if((ok1<37 || ok1>40) && (obj.value.length>=6) ) //如果超过6个字符自动移动到下一下,6可以自行更改
{ for(k=0;k<add.elements.length;k++)
{
if(add.elements[k].name==fname)
{
k1=k+1;
add.elements[k1].focus();
}
} } }
</script>
<form name=add>
<input name=a1 onKeyDown="return numok(a1)" onfocus="if(this.value!='')this.select();">
<input name=a2 onKeyDown="return numok(a2)" onfocus="if(this.value!='')this.select();">
<input name=a3 onKeyDown="return numok(a3)" onfocus="if(this.value!='')this.select();">
<input type="submit">
</form>
改if((ok1<37 || ok1>40 ||ok1!=8) && (obj.value.length>=6))
//回车 13
//鼠标左键 0
//Esc键 27
//BackSpace键 8
//tab键 9
//←↑→↓ 37、38、39、40
//空格 32