2013-11-28 148 views
0

默認文本如何設置頁面加載過程中對ASP文本框的默認文字,當專注於..如何顯示asp.net文本框

我知道使用JavaScript和jQuery做,在HTML文本框中清除它們。 。但如何做到這一點在asp.net ..任何幫助,請..

我寫

<asp:TextBox ID="Rloginemail" runat="server" Width="100%" Height="25px" 
    BackColor="#ECE8D0" BorderStyle="None" ForeColor="#482B1B" 
    Text="E-MAIL" >E-MAIL</asp:TextBox> 

在上面的代碼,你可以看到text=email ..如果我用這個默認的文字顯示,但是不能清除焦點..

+3

您是指具有各種水印嗎? – liquidsnake786

+0

你是什麼意思liquidnake .. – Sasidharan

+0

你想水印文本框,不是嗎? – tariq

回答

6

HTML 5

您可以使用HTML5 placeholder屬性

<input type="text" placeholder="search" /> 

的jQuery插件佔位符

如果你的瀏覽器支持犯規然後用這個jquery placeholder

$('input, textarea').placeholder() 
0

使用OnFocus事件,並Text屬性爲空字符串

例子:

<asp:TextBox ID="Rloginemail" runat="server" Width="100%" Height="25px" BackColor="#ECE8D0" BorderStyle="None" ForeColor="#482B1B" Text="E-MAIL" onfocus="if (this.value == 'E-MAIL') this.value = ''; ">E-MAIL</asp:TextBox> 

或者,如this答覆中提到 - 你也可以使用asp.net文本框屬性稱爲placeholder

 <asp:TextBox ID="Rloginemail" runat="server" Width="100%" Height="25px" 
        BackColor="#ECE8D0" BorderStyle="None" ForeColor="#482B1B" 
        placeholder="E-MAIL" ></asp:TextBox> 
+0

「我知道在html文本框中使用javascript和jquery來做它。但是如何在asp.net中做到這一點」 – tariq

+0

html文本框不是asp文本框。你不能在純粹的ASP.net中執行它,因爲它需要回發處理。檢查其他解決方案,如果你懷疑如此 – Nogard

+0

我知道它不可能純粹通過ASP.net,最近將使用Ajax控制工具包,不是嗎? – tariq

0

在asp.net可以使用它做ajax控件工具包。我們有一個TextboxExtender有能做到這一點,除了其他事情如下

<ajaxToolkit:TextBoxWatermarkExtender ID="TBE" runat="server" 
TargetControlID="youTextBoxID" 
WatermarkText="YOUR DEFAULT TEXT" 
WatermarkCssClass="yourPreferred css" /> 
0
$(document).ready(function() { 
    $(":input[data-watermark]").each(function() { 
     $(this).val($(this).attr("data-watermark")); 
     $(this).css("color", "#a8a8a8"); 
     $(this).bind("focus", function() { 
      if ($(this).val() == $(this).attr("data-watermark")) $(this).val(''); 
      $(this).css("color", "#000000"); 
     }); 
     $(this).bind("blur", function() { 
      if ($(this).val() == '') { 
       $(this).val($(this).attr("data-watermark")); 
       $(this).css("color", "#a8a8a8"); 

      } 
      else { 
       $(this).css("color", "#000000"); 
      } 
     }); 
    }); 
}); 

風格

<style> 
.placeholder { 
color: #a8a8a8; 

}

::-webkit-input-placeholder { 
color: #a8a8a8; 

}

:-moz-placeholder { 
color: #a8a8a8; 

}

.home_textbox{width:155px; height:25px; border:1px solid #c9c5c1; border-radius:5px; position:relative; font-size:13px; color:#b5b0aa; font-family:"Myriad Pro"; padding:0 5px;} 

文本

<input type="text" name="TxtLogin" id="TxtLogin" 
          class="home_textbox" runat="server" tabindex="1" style="color:Black;" data-watermark="Username" /> 
+2

你可能想提一下你從哪裏複製它以及它的功能。 – CodeCaster

+2

這也是純HTML/jQuery的方式來做到這一點 - 沒有任何與asp.net相關的。有趣的是,對於OP – Nogard

+0

,用戶沒有標記jquery,這並不意味着他沒有包含它。和CodeCaster我沒有複製..我做了我的項目..所以請 –

2

你剛纔提到,你可以做到這一點使用JavaScript或jQuery的HTML文本,但不知道如何用Asp.Net文本框做到這一點。對?這是否只是因爲你的asp.net文本框的id動態變化,你無法訪問它?如果是的話,那麼你可以使用下面的代碼訪問ID:

document.getElementById("<%=textbox.ClientID%>") 

你可以寫在ASPX代碼來獲取asp.net文本腳本中使用上面的代碼,然後你可以使用JavaScript/jQuery的,你知道怎麼做。