javascript - 输入新文本时防止清除文本区域

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

当用户单击它时,它会被清除。如果他们将其留空,则会显示“未提供反馈”文本。但是,如果他们键入其他内容并在框外单击,则文本区域会保留该内容。

然而,问题是他们是否在框内单击。输入的新文本被清除。如果输入新文本,有没有办法防止它被清除?

谢谢!

最佳答案

将其添加到您的 onClick 事件中:

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

... 请注意,您仅定位点击! 键盘导航怎么样?使用 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>

请注意,内联脚本已被弃用,并且难以阅读和维护。

关于javascript - 输入新文本时防止清除文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9885790/

相关文章:

javascript - 服务器控件中 JavaScript 函数的范围

javascript - d3 map 点只绘制在左上角

javascript - 显示更多 点击显示更多图片

html - 应该 &'s be escaped in onclick="...”?

javascript - 如何在javascript中向onclick函数发送参数

javascript - contenteditable div 中的 HTML5 可拖动元素 - 在第一次放置后停止工作 - 为什么?

Javascript 按钮单击 + 显示

javascript - 动态滚动文本区域

jquery - 在父 td 之外扩展 textarea

javascript - 如何将光标放在文本区域的开头