2013-07-04 3 views
0

При использовании HtmlService (который использует дезактивацию Caja) я могу получить/установить значение текстового поля (другие элементы управления)?HtmlService Caja - значение текстового поля

console.log('getting current value : ' + document.getElementById('z123').value); 

где 'z123' является идентификатором уникального текстового поля, приведенный выше код выдает сообщение об ошибке:

Cannot read property 'value' of null 

Конечно UiApp позволило этому. Поэтому я не уверен, что происходит.

ответ

2

Использовать класс вместо id. В хромированном Devtools (Проверьте элемент), вы можете увидеть, что Каха изменения z123 (yourId) на z123-caja-guest-0___ (в отличии от классов)

или с JQuery вы можете использовать идентификатор ..

$('#z123').val(); 
1

Изнутри Caja sandbox, getElementById должен работать точно так, как обычно, как и должно быть .value на поля формы. Если у вас возникли проблемы с этим, пожалуйста, покажите свой HTML, а также ваш JavaScript (желательно как полный, короткий пример), чтобы мы могли понять, что происходит не так.

С другой стороны, если вы работаете с консолью браузера, тогда действительно этот код завершится неудачно, поскольку идентификаторы будут переписаны суффиксом (как уже упоминалось); из этого контекста document.getElementById('z123-caja-guest-0___') должен работать. (Есть способы сделать это, не зная формата суффикса, но они требуют уже иметь ссылку на конкретную песочницу Caja.)

(Я работаю на Caja.)

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