在键入新文本时防止textarea清除

时间:2012-03-27 08:25:10

标签: javascript onclick textarea onblur

这是我的文本区域代码。

<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 个答案:

答案 0 :(得分: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 :(得分:0)

代码中的这一部分会清除它。删除它;)

onclick="this.value='';"

基本上,单击元素时,单击元素的值=''。太空了。