当前位置: 首页 > 图文教程 > 网络编程 > ASP > 表单填写时用回车代替TAB的实现方式

ASP
isNull(str), isEmpty(str)和 str = 的区别
使用ADO批量更新记录(源代码)
自己动手,结合javascript和dhtml做一个ubb编辑器
检查Email地址的比较完善的正则表达式函数
从Access数据库恢复BMP图像并显示在WEB页面(microsoft)
ASP环境下邮件列表功能的实现 (四)(推荐)
在ASP应用中如何限制同一表单被多次提交!!!!好东西
了解MSMQ,控制ASP进程 (一)
了解MSMQ,控制ASP进程 (二)
ASP技术在论坛中的运用(一)(吐血推荐!!!!)
ASP技术在论坛中的运用(二)(吐血推荐!!!!)
ASP技术在论坛中的运用(三)(吐血推荐!!!!)
ASP技术在论坛中的运用(四)(吐血推荐!!!!)
ASP技术在论坛中的运用(五)(吐血推荐!!!!)
ASP技术在论坛中的运用(六)(吐血推荐!!!!)
ASP技术在论坛中的运用(七)(吐血推荐!!!!)
ASP技术在论坛中的运用(八)(吐血推荐!!!!)
不用数据源打开数据库(DSNless connection)
大部分的ADO的错误码对应的含义
好东西,翻页程序,大家可以参考

ASP 中的 表单填写时用回车代替TAB的实现方式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 135 ::
收藏到网摘: n/a

  关键之处在于tabindex,其设计思想是:为每个表单元素设置一个tabindex,其值分别为前一个表单元素的tabindex的值加一,函数的功能就是当用户按下回车键时先将当前tabindex的值加一,而后逐一与每个表单元素的tabindex值进行对比,如若相等,则将焦点移至该表单元素之上。

    首先,我们需要在表单体中设定一个onkeyup事件:
    <form name="xxx" action="YYY.asp" method="post" onkeyup="return changefocus_onkeyup()" language="javascript">

    其次,在每一个表单元素中设定一个tabindex值,假定该表单有三个元素,则我们分别设定tabindex值如下:
    <input type=text name="txtName" size="16" tabindex=1>
    <input type=checkbox name="chkSign" tabindex=2>
    <textarea name="tarContent" tabindex=3>

    最后,写出changefocus函数如下:
    function newinfo_form_onkeyup()
    {
     key=window.event.keyCode;
     if(key==0xD)//判断是否按下回车键
      {  
        CurTabIndex=event.srcElement.tabIndex+1//将当前tabindex的值加1
        for (n=0;n<newinfo_form.elements.length;n++)  
       {
            if (newinfo_form.elements[n].tabIndex==CurTabIndex) //找到下一个表单元素
           {
                 newinfo_form.elements[n].focus(); //移动焦点
       return true;
          }
        }
}
}