我的CQ dialog.xml
<toolbar
jcr:primaryType="cq:Widget"
xtype="toolbar">
<items
jcr:primaryType="cq:WidgetCollection">
<input
jcr:primaryType="cq:Widget"
xtype="textfield"
name="./myInput">
</input>
<button
jcr:primaryType="cq:Widget"
xtype="button"
name="./myButton"
text="Submit" handler ="function() {passMyInput()};">
</button>
</items>
我已经实现了函数passMyInput()
,如下所示:
passMyInput(){ alert("test");}
这很好用。我的问题是如何将./myInput
的值传递给function passMyInput
?
我已经尝试了handler ="function() passMyInput('./myInput')};"
,但它不起作用
答案 0 :(得分:1)
按钮的处理函数接收2个参数,按钮b
和eventObject e
。
我们可以通过按钮获取容器对话框,然后使用getField()
方法获取字段的值。
修改后的汉德函数将是
function(b, e) {
var dlg = b.findParentByType('dialog');
var val = dlg.getField('./myInput').getValue();
passMyInput(val);
}
有关详细信息,请参阅widget docs