<html><form method=post id="form_reg" action=test.php>
<input type=text name=a>
<input type=text name=b>
<input type=submit value=OK>
</form><script language=javascript>
//初始状态让光标在输入框a上
document.forms[0].a.focus(); //在FORM_REG中用ENTER模拟TAB键
function form_reg_onkeydown() {
if (event.keyCode==13){
event.keyCode=9;
}
}
</script></html>
<input type=text name=a>
<input type=text name=b>
<input type=submit value=OK>
</form><script language=javascript>
//初始状态让光标在输入框a上
document.forms[0].a.focus(); //在FORM_REG中用ENTER模拟TAB键
function form_reg_onkeydown() {
if (event.keyCode==13){
event.keyCode=9;
}
}
</script></html>
<script language=javascript>
function window.onload()
{
frm1.a.focus(); }
function window.document.onkeypress()
{
if(event.srcElement.id == "a")
{
frm1.b.focus();
return false;
}
else
{ alert();
frm1.submit();
}
}
</script>
<BODY>
<%
If Request.ServerVariables("REQUEST_METHOD") <> "GET" Then
Response.Write "*****"
Response.End
End If
%>
<form id="frm1" method="post" action="active.asp">
<input type=text name="a" id ="a" value="a">
<input type=text name="b" id="b" value="b">
<input type=submit value=OK>
</form>
</BODY>
</HTML>
但是我有些不明白,对 tianmingchun的代码做点修改就不可以了,如下:
<HTML>
<script language=javascript>
function window.onload()
{
frm1.a.focus();
}
function window.document.onkeypress()
{
//不是回车键则不作处理,此处结果正确,对不是回车键可以正确显示到输入框
if(event.keyCode==13)
{
就改动了这行,是想把回车键换为TAB键,但是对回车键没有反应了,不知何故
if(event.srcElement.id == "a")event.keyCode=9;
else frm1.submit(); //这行结果也正确
}
}
</script>
<BODY>
<form id="frm1" method="post" action="active.asp">
<input type=text name="a" id ="a" value="a">
<input type=text name="b" id="b" value="b">
<input type=submit value=OK>
</form>
</BODY>
</HTML>但是改成如下的代码就正确了
<HTML>
<script language=javascript>
function window.onload()
{
frm1.a.focus(); }
function test() //换了个函数名
{
//不是回车键则不作处理
if(event.keyCode==13)
{
//这两行代码和上面相同,但是结果却正确了
if(event.srcElement.id == "a")event.keyCode=9;
else frm1.submit();
}
}
</script>
<BODY>
<form id="frm1" method="post" action="active.asp" onkeydown=test()> <!-- 稍改了这里 -->
<input type=text name="a" id ="a" value="a">
<input type=text name="b" id="b" value="b">
<input type=submit value=OK>
</form>
</BODY>
</HTML>再麻烦哪位解释一下为什么上面的代码结果不正确,而下面的正确,谢谢!~~~
{
...
}
{ var keychar,fn,fesum,i,j,k,fsum;
var fname=event.srcElement.name;
if(document.layers) //ns
{ document.captureEvents(event.keydown);
kechar=event.which;
}
if(document.all) //IE
keychar=event.keyCode;
if(keychar==13)
{ fsum=document.forms.length;
if(fname!=null)
{ for(i=0;i<fsum;i++)
{ fesum=document.forms[i].elements.length;
for(j=0;j<fesum;j++)
{ if(fname==document.forms[i].elements[j].name)
{ if(document.forms[i].elements[j].type=="textarea")
return;
if(document.forms[i].elements[j].type=="submit"||document.forms[i].elements[j].type=="reset"||document.forms[i].elements[j].type=="button")
{ document.forms[i].elements[j].click();
return false;
}
k=j+1;
if(k>=fesum)
{ i++;
k=0;
}
if(i>=fsum)
{ i=0;
k=0;
}
for(;document.forms[i].elements[k].type=="hidden";k++);
document.forms[i].elements[k].focus();
if(document.forms[i].elements[k].type=="submit"||document.forms[i].elements[k].type=="reset"||document.forms[i].elements[k].type=="button")
{ document.forms[i].elements[k].click();
return false;
} return false;
}//if
}//for
}//for
}//if
document.forms[0].elements[0].focus();
return false;
}//if
}//function
document.onkeydown=shiftfocus;
记得给分
<input type=text id=b name=b onkeypress="submit()">
<script>
function goB()
{
if(event.keyCode==13)
{window.b.focus()}
}
function submit()
{
if(event.keyCode==13)
{......}
else
{return false}
}
</script>