日期:2014-05-19  浏览次数:20434 次

关于焦点切换的问题,搞了很久一直没搞定。郁闷!
我用的是vs2005,获取焦点的方法我知道,但如何让焦点在多个控件中切换呢?如一个页面上有10个TextBox控件,起始焦点在TextBox1上,当按回车后焦点切换到TextBox2上,依次类推。我看了一些帖子,说使用onkeypress   onkeydown   onchange这些事件,我怎么就没有找到呢?我的事件上只有TextChanged和几个什么数据绑定、加载这类的事件。我想在TextChanged中使用WINFROM中的KEYS方法,但WEB中好像没有KEYS集合。EventArgs   e中没有KEYS。   还看了一些帖子说用HTML控件INPUT   TEXT转成服务器控件就有onkeypress   onkeydown   onchange类事件了,我也试了,很郁闷,根本属性栏中就没事件这东西,双击该控件也就有个Text1_ServerChange事件。要疯掉了。救命。。。。。。。。。

------解决方案--------------------
<SCRIPT LANGUAGE= "JavaScript ">
function enterkey()
{
if( event.keyCode == 13)
{
event.keyCode = 9;
}
}
</script>
<body onkeydown= "enterkey() ">
------解决方案--------------------
设置TABINDEX属性。然后再CSS中连接事件HTC代码,如上面的代码。
------解决方案--------------------
一楼的应该 可以 当你回车时候 就相当与TAB
------解决方案--------------------
先设置控件的tabiindex属性,再用一楼的代码
------解决方案--------------------
<script language= "javascript " for= "document " event= "onkeydown ">
if(event.keyCode==13 && event.srcElement.type!= 'button ' && event.srcElement.type!= 'submit ' && event.srcElement.type!= 'reset ' && event.srcElement.type!= 'textarea ' && event.srcElement.type!= ' ')
event.keyCode=9;
</script>
------解决方案--------------------
这里用的不是服务器控件的事件,而是JS里的事件。
用一楼的代码就可以了。
不过这样就不能用回车提交表单了。