天龙八部萧峰肉王语嫣:实在不会了 帮帮我 谢谢

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 15:19:31
实现在网页上,按照顺序输入用户信息的功能,用户输入完“姓名”以后,按回车光标自动移动到“年龄”文本框中等待输入,“电话”和“住址”的输入页类似在程序中使用WINDOW对象及其事件
WINDOW对象如何使用阿window事件是什么

关键之处在于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;
}
}
}
}

第二种:
在填写表单时,习惯性会按下回车键,这将导致表单提交,很不好,这里介绍一个方法截获它。
其实很简单,只要在想截获的区域增加onkeydown事件函数,并在执行函数中写下如下语句:
if (window.event.keyCode==13) window.event.keyCode=0
这样就取消回车键了
如果想模拟Tab键,只要写成
if (window.event.keyCode==13) window.event.keyCode=9
就行了,它会跳到另一个元素上。
http://www.daima.com.cn/Info/102/Info34048/