asp.net输入焦点问题

本文介绍了一种在ASP.NET页面中通过JavaScript控制输入框回车后触发相应按钮的方法。利用onactivate事件和focus方法,使得回车键能激活当前输入框后的按钮,而非页面上的第一个按钮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果一个asp.net页面中有很多表单框、按钮的话,当我们在一个后面的文本框输入完内容后,按下回车,触发的却永远是在页面的第一个button。而我们所需要的却一般情况下是按下回车是靠近当前表单的一个button。解决的办法是使用js方法来取得输入文本框的onactivate事件,该事件调用一个函数,为我们需要的按钮赋上焦点。

1.首先在页面上新建一个搜索和一个登陆,代码如下:

 

<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 152px; WIDTH: 296px; POSITION: absolute; TOP: 160px; HEIGHT: 139px"
                cellSpacing
="1" cellPadding="1" width="296" border="1">
                
<TR>
                    
<TD><FONT face="宋体">产品名</FONT></TD>
                    
<TD>
                        
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox></TD>
                    
<TD>
                        
<asp:Button id="Button1" runat="server" Text="搜索"></asp:Button></TD>
                
</TR>
                
<TR>
                    
<TD><FONT face="宋体">用户名</FONT></TD>
                    
<TD>
                        
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox></TD>
                    
<TD></TD>
                
</TR>
                
<TR>
                    
<TD><FONT face="宋体">密码</FONT></TD>
                    
<TD>
                        
<asp:TextBox id="TextBox3" runat="server"></asp:TextBox></TD>
                    
<TD>
                        
<asp:Button id="Button2" runat="server" Text="登陆"></asp:Button></TD>
                
</TR>
            
</TABLE>
        
</form>
    
</body>

 2.在page_load事件中写如下代码

 

private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
            this.TextBox1.Attributes.Add("onactivate","onbtn1()");
            
this.TextBox3.Attributes.Add("onactivate","onbtn2()");
        }

 

3.写js代码:

 

<script>
         
function onbtn1()
         
{
         
debugger
            
var d=document.getElementById("Button1");
            d.focus();
         }

         
function onbtn2()
         
{
            
var f=document.getElementById("Button2");
            f.focus();
         }

        
</script>
4.运行看效果
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值