这是我的文本区域代码。
<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/