Запрет очистки текстовой области при вводе нового текста - PullRequest
0 голосов
/ 27 марта 2012

Вот мой код для текстовой области.

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

2 голосов
/ 27 марта 2012

Добавьте это к вашему событию 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>

Обратите внимание, что встроенные скрипты устарели и их трудно читать и поддерживать.

0 голосов
/ 27 марта 2012

Эта часть в вашем коде очищает его. Убери это;)

onclick="this.value='';"

Как правило, при щелчке по элементу значение щелкающего элемента = ''. Так пусто.

...