Как мы можем обновить отображаемый текст в cml:text или cml:textarea, используя javascript на платформе crowdflower?
Я разрабатываю краудсорсинговый интерфейс на платформе толпы, во время проектирования мне нужно cml:text
или же cml:textarea
принять рабочий текст ввода. Вот пример:
<cml:textarea label="my_name" id="my_id" validates="required" default="123456"/>
Значением по умолчанию, отображаемым в этом текстовом поле, является "123456", однако оно исчезнет после нажатия пользователем. Что если я захочу предварительно загрузить какой-то контент, который могут быть повторно использованы (не исчезают) работниками? Я попробовал следующие методы:
document.getElementById('my_id').html() = "678910";
document.getElementById('my_id').innerHTML ="678910";
document.getElementById('my_id').value = "678910";
document.getElementById('my_id').default = "678910";
document.getElementById('my_id').placeholder = "678910";
document.getElementByName('my_name').html() = "678910";
...
Ни один из них не работает. Можно ли обновить текст в cml:text
или же cml:textarea
на платформе толпы цветов?
1 ответ
Я столкнулся с этим сегодня! Кажется, что document.getElementById
или его альтернативы не работают для тегов ввода cml. Вот обходной путь, использующий jQuery, который работал для меня. Положить ваши cml:textarea
в div
затем используйте find
чтобы получить входные данные внутри родителя div
,
require(['jquery'], function($) {
var my_element = $("#parent_element_id").find("input")[0]; // first input element in the list
my_element.value = "678910";
});
Надеюсь это поможет!