JavaScript学习笔记1---焦点定位在页面表单第一个字段

当我们希望一打开某个页面,焦点能够停留在第一个控件上的时候,可以写个简单的脚本,
然后放到onload事件处理函数中,比如说下面的一段代码:

 

< html >
< head >
< title > 用户注册 </ title >
</ head >
< body  onload ="document.forms[0].elements[0].focus()" >
< form  name ="form1" >
用 户 名:
< input  type ="text"  name ="txtName"  size ="20"   />< br  />
密    码:
< input  type ="password"  name ="txtPassword"  size ="20"   />< br  />
确认密码:
< input  type ="password"  name ="txtRePassword"  size ="20"   />< br  />
电子信箱:
< input  type ="text"  name ="txtEmail"  size ="20"   />< br  />
< input  type ="submit"  name ="submitForm1"  value ="注 册"   />< br  />
</ form >
</ html >  

 

当用户打开页面,焦点是可以定位在第一个字段的。document.forms[0].elements[0].focus()
表示把光标定位在页面上第一个表单的第一个元素上,如上例,就是txtName字段。
但是考虑一下下面的这段代码:

 

< html >
< head >
< title > 用户注册 </ title >
</ head >
< body  onload ="document.forms[0].elements[0].focus()" >
< form  name ="form1" >
< input  type ="hidden"  name ="txtID"  value ="123456"   />< br  />
用 户 名:
< input  type ="text"  name ="txtName"  size ="20"   />< br  />
密    码:
< input  type ="password"  name ="txtPassword"  size ="20"   />< br  />
确认密码:
< input  type ="password"  name ="txtRePassword"  size ="20"   />< br  />
电子信箱:
< input  type ="text"  name ="txtEmail"  size ="20"   />< br  />
< input  type ="submit"  name ="submitForm1"  value ="注 册"   />< br  />
</ form >
</ html >  

 

表单form1的第一个字段是隐藏字段,这个字段是不支持focus()方法的。在这种情况下,将
会出现JavaScript错误。并且这个时候我们也不是想把光标定位在那个不可见的字段上。这
里的关键是把焦点定位在第一个可见的表单字段上,可以写个处理的方法:

 

< html >
< head >
< title > 用户注册 </ title >
< script  type ="text/javascript" >
// 焦点定位在表单第一个可见字段的方法
function  focusOnFirst(){
// 检测页面是否存在表单
if (document.forms.length > 0 ){
   
for ( var  i = 0 ;i < document.forms[ 0 ].elements.length;i ++ ){
       
var  oField = document.forms[ 0 ].elements[i];
       
if (oField.type != " hidden " ){
          oField.focus();
          
return ;
        } 
   }
}
}
</ script >
</ head >
< body  onload ="focusOnFirst()" >
< form  name ="form1" >
< input  type ="hidden"  name ="txtID"  value ="123456"   />< br  />
用 户 名:
< input  type ="text"  name ="txtName"  size ="20"   />< br  />
密    码:
< input  type ="password"  name ="txtPassword"  size ="20"   />< br  />
确认密码:
< input  type ="password"  name ="txtRePassword"  size ="20"   />< br  />
电子信箱:
< input  type ="text"  name ="txtEmail"  size ="20"   />< br  />
< input  type ="submit"  name ="submitForm1"  value ="注 册"   />< br  />
</ form >
</ html >  

 


测试上面的代码,光标确实可以定位在第一个表单的第一个可见字段。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值