禁用(或)防止在ASP只读文本框中放置光标

时间:2014-06-24 18:45:25

标签: javascript asp.net javascript-events asp-classic

在我的解决方案中,有一个ASP.NET ReadOnly文本框。点击它时,会插入闪烁的光标,使用户相信他们可以编辑。

有人可以建议我避免这种情况的最佳方法.. !!!

我尝试了很多方法但没有用。

2 个答案:

答案 0 :(得分:1)

以下方法将在texbox获得焦点后立即删除闪烁光标:

<asp:TextBox onFocus="this.blur()" 
             ID="TextBox1" 
             runat="server" 
             ReadOnly="true" 
             Text="This is a test!">
</asp:TextBox>

在任何TextBox上添加 onFocus =&#34; this.blur()&#34;

  

此方法使用 HTML DOM Blur() 方法:blur()方法用于从元素中删除焦点。

警告: 使用Blur()可能无法在Internet Explorer 11 下工作..感谢@EdSF观察。

我建议您改用标签,因为这种方式没有闪烁光标或光标,句号!

<asp:Label   ID="Label1" 
         runat="server" 
         ReadOnly="true" 
         Text="This is a test!" BorderColor="Black" BorderWidth="1" />

使用 Label 时,您可能需要应用一些CSS才能使其看起来像 TextBox 。您还可以禁用 TextBox。但是,您可能必须应用CSS才能使其不被禁用。

答案 1 :(得分:1)

您是否尝试在文本框中将enabled属性设置为false?它想像:

<asp:Textbox Id="textbox1" runat="server" Enabled="False" Text="Text">

文本将显示在文本框中,您仍然可以突出显示文本,但不能将光标放在框中。如果您希望状态在某个时刻更改为true,则可以从后面的代码中设置enabled属性。