现有的Dojo 1.10页面具有以下HTML文本区域(我无法更改源代码):
<textarea tabindex="40" data-qbo-bind="value: payeeMessage" class="customerMessage" data-dojo-attach-point="_gridTabTarget" maxlength="1000"></textarea>
我一直在尝试创建一个javascript来更改textarea的内容,以便在提交表单时保存值。我已经能够更改内容,但它从未被保存,因为不知何故,我需要在更改值后生成一个onChange触发器事件。
我的代码如下所示,但它不会触发事件:
dojo.query(".customerMessage").connect("onchange", function() { alert("Changed!"); });
var widget_node = dojo.query(".customerMessage")[0];
widget_node.innerHTML="123123";
widget_node.onchange();
如有任何帮助,不胜感激
2条答案
按热度按时间ojsjcaue1#
获取您的小部件,并使用
this.set('value', value)
使用change
事件传递的值更新小部件。示例(请打开控制台):
https://jsfiddle.net/s5620bwd/3/
第一个
在代码中,应在
onChange
的callBack内添加this.set('value', value);
。q35jwt9p2#
如果您遇到
change
事件无法按预期用于textarea
元素的问题,则可能需要将data-dojo-props="intermediateChanges: true"
添加到textarea
。