そのため、関数dojo.addOnLoad
とdojo.ready
関数はダイアログには適用されないようです。
代替品を探しています。dojo.connect
問題は、ダイアログの HTML が動的に作成され、機能を追加する関数を使用するさまざまなスクリプト ブロックが含まれていることです。たとえば、私は持っています:
<input type='checkbox' name='value(liquid40011252)' value='1' dojoType='dijit.form.CheckBox' id='liquid4001125249' />
<script type='text/javascript'>dojo.addOnLoad(function() {
dialogConnect4001125249();});
function dialogConnect4001125249() {
dojo.connect(dijit.byId('liquid4001125249'), 'onChange',
function(){
// my code for toggling checkboxes ets
});
}
</script>
これは通常の Web ページでは正常に機能しますが、ダイアログでは無視addOnLoad
され、dijit.byId('liquid4001125249')
未定義です。ready
助けにならない。
ダイアログをインスタンス化します
searchDlg = dojox.widget.DialogSimple();
searchDlg.set("title", title);
searchDlg.set("style", "width: " + width + "px; max-height: "+height+"px; overflow:auto;");
searchDlg.set("content", content);
searchDlg.show();
dialogConnect
後で電話することを検討しましshow
たが、多くdialogConnectxxxxx
てリストがありません。
dialogConnect
おそらく、別の方法として、何らかの方法でs のリストをどこかに (おそらくダイアログ自体に)追加することです。わからない。
この複雑な問題を解決する方法についてのアイデアはありますか?