2012-04-12 21 views
0

Ich habe mit dem folgenden Befehl einen Standardwert in einem TextfeldTextarea Standardwert

<textarea name="message" id="message" cols="30" rows="5" value="Comment" 
    class="form_text text-input shadow" title="Comment" 
    onblur="if (this.value == '') {this.value = 'Comment';}" 
    onfocus="if (this.value == 'Comment') {this.value = '';}"> 
</textarea> 

und es funktioniert teilweise zu setzen. Das Feld zeigt zunächst keinen Standardwert, aber wenn Sie darin klicken und dann aus, ohne etwas einzugeben, wird "Kommentar" angezeigt.

Irgendeine Idee, wie ich das ändern kann, so dass "Kommentar" erscheint, wenn das Formular geladen wird.

+0

Ich sollte hinzufügen, dass der gleiche Code für ein Textfeld gut funktioniert. – Andy

+0

Einige interessante Antworten. Danke euch allen. – Andy

Antwort

3

Textarea Standardtext muss in Tags eingeschlossen werden

<textarea> this is my default text </textarea> 
+0

Würde das auch für ein normales Textfeld funktionieren? – Andy

+0

ja es funktioniert mit ' Wert' ebenso gut aber Eingabefeld hat ein Wertfeld, Textarea nicht. Beachten Sie auch ein einzelnes Leerzeichen. ' Platz auf der linken Seite', nicht sehen Sie tatsächlich ein Leerzeichen links im Standardtext. –

3
<textarea>default value</textarea> 

Das sollte den Trick tun.

4

Dont Gebrauchswert Verwendung.

<textarea name="message" id="message" cols="30" rows="5" 
    class="form_text text-input shadow" title="Comment" 
    onblur="if (this.innerHTML == '') {this.innerHTML = 'Comment';}" 
    onfocus="if (this.innerHTML == 'Comment') {this.innerHTML = '';}"> 
Comment 
</textarea> 
+0

Sie haben Recht, aber der JS-Code, den Sie hinterlassen, ist jetzt falsch. –

+0

@ Artimuz besser? :] –

+1

viel viel besser;) –

1

TextArea- hat innerHTML- nicht Wert Attribut (value = "Kommentar" ist nicht korrekt zu setzen Wert)

Versuchen,

<textarea name="message" id="message" cols="30" rows="5" 
    class="form_text text-input shadow" title="Comment" 
    onblur="if (this.value == '') {this.value = 'Comment';}" 
    onfocus="if (this.value == 'Comment') {this.value = '';}"> 
    Comment 
</textarea> 
2

Das <textarea> Element hat kein value Attribut: der Standardwert ist, was Sie zwischen den offenen und den engen Tags schreiben:

<textarea>My default value</textarea> 

In Javascript, Sie diesen Text mit .innerHTML acces (oder mit jQuery mit .val()).

Für das Verhalten, das Sie versuchen zu realisieren, können Sie HTML5 placeholder attribute verwenden und eine jQuery polyfill for old browsers verwenden.

1
<textarea>Value</textarea> 

Alternativ können Sie den Wert durch Javascript Last zuweisen, wenn Sie über jquery $ (document) .ready() verwendet.