2010-11-26 13 views
2

Ich habe dieses Textfeld mit dem Standardwert als "Vorname" .. Wenn ich nun in dieses Textfeld klicken, um den Namen einzugeben, wird dieser Wert "Vorname" weiterhin angezeigt. Was ich möchte, ist das Textfeld zu löschen, sobald ich drinnen klicke. Welche Eigenschaft muss ich in mt Textbox-Tag festlegen?Entfernen von Standardtext aus Textfeld

[Bearbeiten] ok etwas von Telerik, dass ich verwenden kann, um das zu tun?

+0

ist es Asp-Steuerelement oder HTML? –

+0

Meine Antwort wurde mit Informationen über Telerik aktualisiert. – Josh

Antwort

6

Es gibt nicht out of the box Funktionalität in TextBox, die dies erreichen wird, aber die ASP.Net Ajax Toolkit hat eine Watermark Extender, die alles tun wird, was Sie wollen.

ich beide verwendet haben, aber jetzt persönlich ein jQuery Watermark Plugin

Entweder ganz gut, wählen Sie arbeiten auf Ihre Bedürfnisse verwenden basiert.

Entsprechend den Telerik-Dokumenten müssen Sie nur die EmptyMessage Eigenschaft auf ihrem TextBox-Steuerelement festlegen. Demo Page Here

+0

thnx..yeah Ich habe es nur so gemacht ... willst du nicht einfach Telerik? Ich weiß, dass ich tun: D – Serenity

1

Vielleicht this werden Sie

helfen
2

Im Code hinter, auf Seite laden können Sie den folgenden Code hinzufügen, kann dies

TextBox1.Attributes.Add("onClick", "javascript:if(this.value=='First Name'){this.value='';}"); 
+0

Ich war in einer Diskussion für geben Beispiel :(. – anishMarokey

+1

Verwenden onFocus an Stelle von onClick, da es durch TAB-Taste fokussiert werden kann –

2

Sie die von @ Josh vorgeschlagenen Methode zu erreichen. Wenn Sie keine Ajax Toolkit-Steuerelemente oder JQuery verwenden möchten, können Sie sie selbst mit Javascript schreiben. Schreibe eine Funktion, die aufgerufen wird, wenn die foucs vom Textbox-Steuerelement empfangen werden. I thik heißt die Funktion onfocus oder focus nur in Javascript.

2

Hallo Ich schrieb diese kleine Funktion, die das gewünschte Ergebnis

function clearInputBox(x,prefil){ 
    if(x.value == prefil){ 
     x.value = ''; 
    } 
} 

Ihr Eingabefeld wie diese Beratung

<input type='text' value='First Name' onfocus="clearInputBox(this,'First Name')" /> 
0

Unter Shobans sieht erreicht einen Schritt weiter, könnten Sie so etwas wie diese hinzufügen zu Ihrer Seite Unterklasse

protected override void OnInitComplete(EventArgs e) 
{ 
    string jsString = "javascript:if(this.value=='" + TextBox1.Text + "'){this.value='';}"; 
    TextBox1.Attributes.Add("onFocus", jsString); 
    base.OnInitComplete(e); 
} 

Was dies tun wird, wird es immer co Beachten Sie, dass die Standardzeichenfolge diejenige ist, die diese Steuerung zum Zeitpunkt des Esigns enthält (das erste in Ihrer ASPX-Datei). Sie müssen sie also nicht jedes Mal, wenn Sie Ihre ASPX-Datei ändern, manuell ändern. Denken Sie daran, dass OnIinitComplete ausgelöst wird, bevor Daten für Viewstate oder Postback angewendet wurden, aber nachdem die Kontrollen auf Ihrer Seite auf ihre Standardwerte gesetzt wurden.

P.S. Wie anishMarokey gezeigt hat, verwenden Sie onFocus vs onClick, da Felder den Fokus ohne Klicks über Tab-Taste erhalten können.

Verwandte Themen