2012-10-25 28 views
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> 

这是我的代码。文本框值onclick onblur问题

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

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

谢谢。

编辑

修正了国际单项体育联合会内部的==,现在它看起来像这样

<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> 

但是当我第一次点击它,它不是清洁deafult数据。如果我删除它,并失去焦点,它会显示<%=TxtObservaciones.Text.ToString()%> 不是它内部的值。

+0

http://code.google.com/p/jquery-watermark/ – jbabey

回答

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

它是有道理的,但它不工作。没有清理。 –

+0

试一试,它需要用找到元素来替换它。我曾在一个文本页面上工作(使用OnClick使用基本字符串进行测试) – nurgent

0

像这样的东西?

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

我不熟悉的ASP,但希望这能帮助:)

2

它应该是:

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

由于==比较值和= asigns值。

+0

谢谢,试了一下并没有工作,请检查后期版本。 –

+0

我不知道ASP,也许有值的问题''%= _ data.Obsprevia.ToString()%>'和'<%= TxtObservaciones.Text.ToString()%>? – insertusernamehere

+0

哦,对不起,承认会定义去回答:)。谢谢,将继续尝试 –