2012-04-12 50 views
0

我一直在使用下面放一個默認值的文本框textarea的默認值

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

而且部分工作。該字段最初不會顯示默認值,但如果您在其中單擊然後輸出,而不輸入任何內容,則會顯示「註釋」。

任何想法如何我可以修改這個,使「表達式加載時出現」Comment「。

+0

我應該補充說,相同的代碼對於文本字段可以正常工作。 – Andy 2012-04-12 17:56:41

+0

一些有趣的答案。謝謝你們。 – Andy 2012-04-12 19:21:10

回答

3

textarea的默認文本必須用標籤

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

這是否也適用於常規文本框? – Andy 2012-04-12 18:28:38

+0

是的,它與'值'一起工作,但輸入框有一個值字段,textarea不。也要注意一個空間。 '左邊的空間',你不會在默認文本中看到左邊的空格。 – 2012-04-12 18:30:29

3
<textarea>default value</textarea> 

這應該做的伎倆。

4

不要使用價值用途:

<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

你是對的,但你離開的JS代碼現在是不正確的。 – 2012-04-12 18:03:52

+0

@Artimuz更好? :] – 2012-04-12 18:06:44

+1

好得多;) – 2012-04-12 18:08:35

1

textarea的具有innerHTML的不是價值屬性(價值=「註釋」是不是要設置正確的方法值)

嘗試,

<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

<textarea>元素沒有value屬性:默認值是你打開和關閉標籤之間寫的是什麼:

<textarea>My default value</textarea> 

在Javascript中,您可以存取權限本文以.innerHTML(或使用jQuery與.val())。

對於您試圖實現的行爲,您可以使用HTML5 placeholder attribute並使用jQuery polyfill for old browsers

1
<textarea>Value</textarea> 

另外,如果您通過jquery使用$(document).ready(),則可以通過javascript在負載上分配值。