突出显示焦点上的文本框服务器控件

时间:2013-10-25 19:02:28

标签: c# javascript asp.net

我有一个文本框,点击后我希望文字突出显示:

<asp:TextBox ID="searchInput" runat="server" ></asp:TextBox>

我正在尝试通过C#添加功能:

protected void Page_Load(object sender, EventArgs e)
{
    searchInput.Attributes.Add("onfocus", "javascript:this.select();");
}

然而,我没有得到理想的结果。单击该框时文本不突出显示。我做错了什么,如何解决?

编辑:

澄清我想要选择的文字。

3 个答案:

答案 0 :(得分:2)

当您单击该框时,您可能会改变插入位置,从而改变文本选择范围。

试试这个:

protected void Page_Load(object sender, EventArgs e)
{
    searchInput.Attributes.Add("onfocus", "var elem=this;setTimeout(function(){elem.select();},0);");
}

通过setTimeout()强制等待,您可以在原始焦点事件触发后select()文本,并将选择范围设置回文本value

示例小提琴:http://jsfiddle.net/mxn3F/

答案 1 :(得分:0)

我总是通过将BackColor更改为黄色来突出显示。你可以尝试它应该工作。

答案 2 :(得分:0)

您应该尝试以下代码:

<asp:TextBox ID="searchInput" runat="server"  OnFocus="this.style.borderColor='red'" OnBlur="this.style.borderColor=''"></asp:TextBox>