2009-10-19 6 views
0

Я написал основной Greasemonkey скрипт, который проходит выход из к textarea, как это:Greasemonkey (JavaScript) TextArea вопрос

var obj = document.getElementById("comment").innerHTML = "\n" + "Note:" + "\n" + "\n" + output_string; 

Он работает как шарм, если вы измените значение из источника, он обновит текстовое поле. Однако, как только вы напишете что-нибудь самостоятельно в текстовом поле и выберите значение, оно не будет перезаписывать то, что вы написали внутри текстового поля. И вам нужно полностью обновить страницу, чтобы снова использовать эту функцию. Почему это?

+0

Как обрабатывать события в вашем скрипте? Как вы ссылаетесь на текстовое поле? Пожалуйста, добавьте дополнительную информацию. –

ответ

4

Атрибут textareavalue устанавливается, как только вы вводите что-то в него. Это переопределяет значение innerHTML.

Вы должны использовать атрибут value, чтобы установить содержимое входных элементов, например textarea.

Попробуйте вместо этого:

var obj = document.getElementById("comment").value = "\n" + "Note:" + "\n" + "\n" + output_string; 
+0

Спасибо, высоко оценили! – Belkin

0

Если вам нужна ваша текстовая область, чтобы всегда показывать один и тот же текст, я предлагаю вам подключить к нему размытие, используя собственный сценарий greasemonkey. Событие Blur будет делать то же самое, что и сейчас. Единственное изменение будет состоять в том, что textarea будет обновляться, когда курсор фокусируется на textarea.

Если это то, что вам нужно, потому что я не совсем понял, что вы пытаетесь сделать.

Смежные вопросы