0
<asp:TextBox ID="TxtBOX" 
        runat="server"              
        CssClass="text"
        Height="32px" 
        Width="360px"  
        TextMode=MultiLine         
        TextWrapping="Wrap"
        AcceptsReturn="True"
        VerticalScrollBarVisibility="Visible"
        onclick="if(this.value='<%=_data.Obsprevia.ToString()%>'){this.value=''}"             
        onblur="if(this.value=''){this.value='<%=TxtObservaciones.Text.ToString()%>'}">

     </asp:TextBox>

那是我的代码。

默认 TxtBOX.Text 来自后面的代码 (_data_obsprevia)。我想要实现的是,一旦用户单击文本框,就清除该默认文本。如果 txbox 在用户没有写任何东西时失去焦点,则取回该默认文本。

我无法做到这一点,如果用户确实写了一些东西,并且再次失去焦点,文本框又会变空。

谢谢。

编辑

修复了 IF 中的 ==,现在看起来像这样

<asp:TextBox ID="TxtBOX" 
        runat="server"              
        CssClass="text"
        Height="32px" 
        Width="360px"  
        TextMode=MultiLine         
        TextWrapping="Wrap"
        AcceptsReturn="True"
        VerticalScrollBarVisibility="Visible"
        onclick="if(this.value=='<%=_data.Obsprevia.ToString()%>'){this.value=''}"             
        onblur="if(this.value==''){this.value='<%=TxtObservaciones.Text.ToString()%>'}">

     </asp:TextBox>   

但是当我第一次点击它时,它并没有清理默认数据。如果我删除它,然后失去焦点,它会显示<%=TxtObservaciones.Text.ToString()%> 不是它内部的价值。

4

3 回答 3

2

它应该是:

if (this.value == '') {}

As==比较值并=分配一个值。

于 2012-10-25T14:52:27.050 回答
1

试试这个,一个基于 insertusernamehere 的建议的构建..

onclick="if(this.value=='<%=_data.Obsprevia.ToString()%>'){this.value=''}"             
onblur="if(this.value==''){this.value=document.getElementById('<%= TxtObservaciones.ClientID %>').value}"

这会从 javascript 获取文本框中设置的内容,以防在浏览器中更改。

您可能还需要将代码分解为函数

     function TxtBOX_OnClick() {
         var TxtBOX = document.getElementById("<%= TxtBOX.ClientID %>");
         if (TxtBOX.value == "<%=_data.Obsprevia.ToString()%>") {
             TxtBOX.value = '';
         }
     }
     function TxtBOX_OnBlur() {
         var TxtBOX = document.getElementById("<%= TxtBOX.ClientID %>");
         if (TxtBOX.value == '') {
             TxtBOX.value = document.getElementById("<%= TxtObservaciones.ClientID %>").value;
         }
     }

onclick="TxtBOX_OnClick();"             
onblur="TxtBOX_OnBlur();"             
于 2012-10-25T14:58:46.993 回答
0

像这样的东西?

<input type="text" value="Search..." onclick="if(this.value=='Search...'){this.value=''}" onblur="if(this.value==''){this.value='Search...'}">

我不熟悉 ASP,但希望这可以帮助:)

于 2012-10-25T14:52:19.450 回答