2012-03-27 93 views
0

這是我的文本區域代碼。在輸入新文本時防止文本區域被清除

<textarea style="width: 95%;" rows="6" name="feedback[<?=$r_uid;?>]" disabled="disabled" onclick="this.value='';" onblur="this.value=!this.value?'No feedback provided':this.value;" maxlength="800"></textarea> 

當用戶點擊它時,它將被清除。如果它們保持空白,則會顯示「沒有提供反饋」文本。但是,如果他們鍵入其他內容並在框外單擊,則文本區域將保留該框。

然而,問題是如果他們在框中點擊。輸入的新文本被清除。如果輸入新文本,是否有辦法阻止它清除?

謝謝!

回答

2

添加到您的onClick事件:

if (this.value == 'No feedback provided') this.value = ''; 

... 請注意,您只針對click!那麼鍵盤導航?使用onfocus代替onclick

<textarea style="width: 95%;" rows="6" name="feedback[<?=$r_uid;?>]" disabled="disabled" 
onfocus="if (this.value == 'No feedback provided') this.value = '';" onblur="this.value=!this.value?'No feedback provided':this.value;" maxlength="800"></textarea> 

注意,內嵌腳本已過時,難以閱讀和維護。

+1

謝謝!正是我需要的。內聯腳本建議+1。我仍然在努力學習繩索。再次,謝謝。 – 2012-03-27 09:38:59

0

代碼中的這部分將清除它。刪除它;)

onclick="this.value='';" 

基本上,當點擊元素時,點擊元素的值=''。如此空洞。