aspx页面按钮焦点设置问题

aspx页面按钮焦点设置问题,第1张

用js来实现,页面任意一处上加下面的js(正对你的问题回答的):

<script language="javascript" type="text/javascript">

function document.onkeydown()

{

if (event.keyCode == 13)

{

if (event.srcElement == document.getElementById('userid')||event.srcElement == document.getElementById('pswd'))

document.getElementById('login').click()

else if(event.srcElement == document.getElementById('search'))

document.getElementById('so').click()

event.cancelBubble = true

event.returnValue = false

}

}

</script>

第一次回答问题,给点面子。。。。谢谢

1.自动设置焦点

开始我尝试过将tabindex设为0,当前页设置焦点[this.Focus()],指定控件设置焦点[this.TextBox1.Focus()],都无法实现在页面打开时将焦点停在指定的控件上。

其实我是忘了一件事,silverlight程序是作为一个插件嵌入在aspx页面中,所谓的页面打开是aspx的页面打开,此时的焦点是停在aspx页面上,而不是silverlight插件上,所以无论你在silverlight程序中怎么Focus都是取不到焦点的。

要实现这个前提条件是在aspx页面打开时【sl插件loaded时】将页面的焦点停在silverlight插件上,然后再在silverlight程序中设置控件的焦点,具体代码如下:

1 void Login_Loaded(object sender, RoutedEventArgs e)

2 {

3 //用户名文本框自动聚焦

4 HtmlPage.Plugin.Focus()//silverlight插件聚焦

5 this.tbxUserName.Focus()//用户名文本聚焦

6 }

2.回车登陆

这不是一个最好的办法,但是也可以实现回车登陆,大家可以参考一下

具体思路是捕捉页面的keydown事件,然后触发登陆按钮的点击事件,具体代码如下:

首先假定aspx页面上有一个id为username的textbox空间,如下: asp:TextBox runat=server ID=username TabIndex=1 CssClass=loguser MaxLength=20 / 获取光标位置: int i = this.username.SelectionStart此处就是获取这个空间username的光标也就是焦点现在


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/tougao/8039064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存