Как мы можем обновить отображаемый текст в 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";
});

Надеюсь это поможет!

Другие вопросы по тегам