页面加载时重点应放在第一控制上

时间:2009-09-24 10:51:09

标签: asp.net master-pages

我有一个登录页面。每当页面加载时,光标应在仅用于输入用户标识的第一个文本框中闪烁。

我写过这样的javascript,但我现在正在使用Master Pages。

这是我的剧本:

function fcus(x)
{
  x.focus();
}

<asp:TextBox id="textbox1" onload="javascript:fcus(this);">

并且我必须调用此方法,我在textbox的onload事件上写,但是它给出了一个错误。

你能告诉我在哪里打电话给这个方法吗?

3 个答案:

答案 0 :(得分:2)

为什么不使用form的DefaultFocus属性(ASP.NET 2.0及更高版本)?

<form defaultfocus=“textbox1”>

您可能需要以编程方式执行此操作,具体取决于您的方案。

查看:

Page.Form.DefaultFocus

do it programmatically

答案 1 :(得分:1)

或者一些jQuery,只是放入你的页面:

$(document).ready(function() {

    $(<yourtextboxselector>).focus();

});

http://jquery.com/

答案 2 :(得分:0)

您可以在文本框的末尾调用如下所示的函数。

<asp:TextBox ID="txt23" runat="server" Text="<%$ appSettings:applicationTitle %>" />
<asp:TextBox ID="TextBox1" runat="server" Text="<%$ appSettings:applicationTitle %>" />
<asp:Label ID="Literal1" runat="server" Text="<%$ appSettings:applicationTitle %>" />
     <script language="javascript" type="text/javascript">
     fcus(document.getElementById('TextBox1'));
    </script>  

 <br />
    <asp:HiddenField ID="hidField" runat="server" />


    <asp:Button ID="btnSubmit" runat="server" Text="Create" OnClick="btnSubmit_Click" />
            </div>
        </form>
    </body>
    </html>