ASP.NET中表单中多个控件,如何用回车代替TAB键? (50分)

  • 主题发起人 主题发起人 Hecules
  • 开始时间 开始时间
H

Hecules

Unregistered / Unconfirmed
GUEST, unregistred user!
在:ASP。NET系统中。有一大堆的EDIT控件,作数据的输入,
在:控件之间,只能用TAB来跳转。如何,象传统程序中一样,
用:回车键来代替TAB?
请给点代码。
谢谢。
(我的环境:服务器端:用:VB。NET,客户端:用:JAVASCRIPT)
 
我也想知道
 
ASP.NET的代码是执行于服务器端的,绝大部分的服务器端控件是不会响应一些客户端消息
的(比如Mouse消息、键盘消息等)。而且HTTP是无连接的,假如控件提供了KeyDown
你处理了的话,每触发一次势必会引起一次回发(表单的提交),那样会很恐怖的。
所以只能从客户端代码来着手。这方面的JAVASCRIPT你可以看这里:
http://www.51html.net/pages/css_dhtml/html_css_dhtml024.htm
 
昨天一个朋友要,我写的,正好给你。不过比较臭,控制也比较灵活,把它放到body的onkeyDown里,在浏览器上写的,可能有错误。
<script language = jscript>
function onKeyDown1()
{
if(event.keyCode == 13)
{
var srcObj = event.srcElement;
if(srcObj&amp;&amp;scrObj.type=="text")
{
for(var i =do
cument.all.length;i++)
if(document.all.type == "text"&amp;&amp;document.all==srcObj)
{
for(var j= i+1;i<document.all.length;j++)
if(document.all[j].type=="text")
{
do
cument.all[j].focus();
break;
}
break;
}
}
event.returnValue = false;
}
}
</script>
 
To:NoSwing:
好象,你的代码,不能通过哟。
(工作环境:VS。NET)
 
我说了,我直接在浏览器上敲的,还没有验证,不过回答你的前一天的晚上的代码的确通过了。
不过你还可以这么写。
在你的每个Edit控件的onkeydown中加如下的函数
function goNext(nextobj)
{
if(event.keyCode==13)
{
nextobj.focus();
event.returnValue=false;

}
}
nextobj是你下一个要转到的控件的id或者Name.
 
跟ASP是一样的
 
多人接受答案了。
 
后退
顶部