文本框值onclick onblur问题

时间:2012-10-25 14:49:09

标签: javascript asp.net

<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在用户没有写任何内容时失去焦点,请返回该默认文本。

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

感谢。

修改

修正了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()%> 不是它内部的价值。

3 个答案:

答案 0 :(得分:2)

应该是:

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

==比较值时,=会分配一个值。

答案 1 :(得分:1)

试试这个,构建到insertusernamehere的建议..

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

如果在浏览器中更改了文本框,则会从文本框中设置内容。

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

     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();"             

答案 2 :(得分:0)

这样的东西?

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

我不熟悉ASP,但希望这有助于:)