最近要求让form页面里的所有input框用回车键代替Tab键。但现在基本的页面大部分已经加完,而且如果让页面里的input框代码里满是脚本代码也不好,所以我设计了一个动态添加用回车代替Tab的脚本。其关键之处在于tabindex,其设计思想是:每个表单元素都默认有一个tabindex,其值分别为前一个表单元素的tabindex的值加一,函数的功能就是当用户按下回车键时把它的键值由回车改为Tab。而且一定要响应onkeydown事件,响应onkeypress是不好使的。在窗口的onload事件里遍历所有form的所有元素,判断如果是input元素就添加onkeydown事件。
window.onload
=
fn_ini;
function fm_ini() ... {
var fm,i,j;
for(i=0;i<document.forms.length;i++)
...{
fm=document.forms[i]
for(j=0;j<fm.length;j++)
...{
// 这段是input框加入把回车替换成Tab的函数
if(fm[j].tagName == "INPUT")
if(fm[j].getAttribute("type").toLowerCase() != "button")
addKeyDownEvent(fm[j]);
}
}
}
/**/ /**
*把输入框的onkedown调用函数队列里加入回车键等于Tab键
*/
function addKeyDownEvent(iupt) ... {
var oldpress = iupt.onkeydown;
if (typeof iupt.onkeydown != "function") ...{
iupt.onkeydown = jumpNext;
} else ...{
iupt.onkeydown = function () ...{
oldpress();
jumpNext();
};
}
}
function jumpNext() ... {
if(event.keyCode ==13)
...{
event.keyCode = 9;
}
} ;
function fm_ini() ... {
var fm,i,j;
for(i=0;i<document.forms.length;i++)
...{
fm=document.forms[i]
for(j=0;j<fm.length;j++)
...{
// 这段是input框加入把回车替换成Tab的函数
if(fm[j].tagName == "INPUT")
if(fm[j].getAttribute("type").toLowerCase() != "button")
addKeyDownEvent(fm[j]);
}
}
}
/**/ /**
*把输入框的onkedown调用函数队列里加入回车键等于Tab键
*/
function addKeyDownEvent(iupt) ... {
var oldpress = iupt.onkeydown;
if (typeof iupt.onkeydown != "function") ...{
iupt.onkeydown = jumpNext;
} else ...{
iupt.onkeydown = function () ...{
oldpress();
jumpNext();
};
}
}
function jumpNext() ... {
if(event.keyCode ==13)
...{
event.keyCode = 9;
}
} ;