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 == '') {}

==値を比較し、値を=割り当てます。

于 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 に答える