时间: 2021-07-31 作者:daque
<script language="javascript"><!--// 用处:enter 变化成tab//运用:onload ="initenter2tab()" form标志加上 <form name="frm" type="enter2tab">...</form>
var iscycle = false; //当光标到结果一个元素的功夫,能否轮回光标中心,var icurrent = -1;var frmname = "0"//input_form//function entertotab() //网页里按回车时中心的变化{ var e = document.activeelement; if(e == null) return false; //赢得暂时表单的名字 for(i=0;i<document.forms.length;i++){ for(var el in document.forms[i].elements){ if(e.uniqueid == el.uniqueid){ frmname = document.forms[i].name } } } if(window.event.keycode == 13) { switch(e.tagname)//标签典型 { case "input": handleinput(e) break; case "select": handleselect(e) break; case "textarea": handletextarea(e) break; default: //window.status = "未知的标签称呼:"+e.tagname+",不许挪动中心!" } }// end if}//处置input 标签典型function handleinput(e){ switch(e.type) { case "text": case "password": case "checkbox": case "radio": case "file": movefocustonextelement(e) break; case "submit"://处置有提交按钮的情景 case "button": if(ishandlesubmit(e)){ handlesubmit(e) focusonnextelement(document.forms[frmname].elements,icurrent-1) break; } movefocustonextelement(e) break; default: }}//处置select 标签典型function handleselect(e){ movefocustonextelement(e)}//处置textarea 标签典型function handletextarea(e){ movefocustonextelement(e)}//挪动到下一个元素function movefocustonextelement(e){ var oe = document.forms[frmname].elements, icurentpos=-1; for(var i=0; i<oe.length; i++) { if(oe[i] == e) icurentpos = i; if(icurentpos>-1 && icurentpos+1<oe.length) { //把中心树立到下一个可用的元素上 focusonnextelement(oe,icurentpos) } }}//下一个可用元素获得中心 n 元素的场所function focusonnextelement(oelements,iindex){ var oe = oelements var oldindex = iindex while(oe[iindex+1].type =="hidden" || oe[iindex+1].disabled || oe[iindex+1].readonly == true || oe[iindex+1].style.display == "none") { /* window.status += "e.name = "+oe[iindex+1].name window.status += ";e.type = "+oe[iindex+1].type window.status += ";e.disabled = "+oe[iindex+1].disabled window.status += ";e.readonly = "+oe[iindex+1].readonly+"." */ iindex++; if(iindex+1 == oe.length) { if(iscycle){//树立中心在第一元素 focusonnextelement(oe,-1) } return; } }//end while icurrent = iindex+1 oe[icurrent].focus(); window.event.keycode = 0; window.event.returnvalue= false; return;}//处该当前元素function handlesubmit(element){ element.click() return; }//确定能否处置提交function ishandlesubmit(element){ var ret = false; if(element !=null && (element.id.touppercase() == "submit" || element.name.touppercase() == "submit" || element.issubmit)){ ret = true; } return ret; }//初始化 initenter2tab()function initenter2tab(){ for(i=0;i<document.forms.length;i++){ if(document.forms[i].type !=null && document.forms[i].type == "enter2tab"){ document.forms[i].onkeydown = function f(){entertotab();}; } } //文书档案初始化中心 if(document.forms[0].elements != null) focusonnextelement(document.forms[0].elements,-1)}
//-->
</script><body onload="initenter2tab()"><form method=post action="" type="enter2tab" name="aa"><input type="text" name=""><input type="text" name=""><input type="submit"></form>