負荷時のJavaScriptコードを実行する(内部)のJavaScript Modalboxの
-
22-08-2019 - |
質問
どのような私は正確にやろうとしていることは、それがModalboxオブジェクトの内側にロードされたときに私のフォームのための私のscript.aculo.us自動入力補完作業を行うことである。
もちろん、スタンドアロンとしてフォームをロードするとき、私は私の自動入力補完を試みたのだが、期待と同じように動作します。参考のため、ここでは機能をロードする私のJSコードは次のとおりです。
Event.observe(window, 'load', function() {
new Ajax.Autocompleter("gl_name", "autocomplete_choices", "<? echo WEB_ROOT . $page_name; ?>?action=ajax_autocomplete", {
paramName: "value",
minChars: 2,
indicator: 'indicator1',
afterUpdateElement: getSelectionIdGL
});
});
それから私は私のhtmlの体の最後に表示されます私の自動入力補完のdivやインジケータを持っています
<span id="indicator1" style="display: none">
<img src="/images/spinner.gif" alt="Working..." />
</span>
<div id="autocomplete_choices" class="autocomplete"></div>
私もModalbox(呼ばれる)はevalScriptsで:真
私は私のautocompletersは、フォームの負荷を作成することにしたいが、スクリプトが書かれたとき、それは基本的に、呼び出しページと同じウィンドウだから、「ウィンドウ」オブジェクトがすでにロードされている:私の問題がどこにあるだから私は基本的に知っていますます。
私は正直にそれが今まで実際にトリガすることができたイベントに表示されていない、と述べました。それが実際に可能かどう私も知りませんが、私は確かにそれはあると思います。
..だからそれはそれについてです。私は追加するには、他に何かわかりません。あなたは私の問題上の任意の明確化が必要な場合は躊躇しないでください。
解決
あなたはmodalboxのコールバック関数を認識しているの? あなたはを後負荷自動入力補完を作成するには、のいずれかを使用することができます。
他のヒント
OK、私は結局自分の質問に答えることができたように思えます。
私は、関数の中で、私の自動入力補完の作成を同封ます:
makeAutocompleters = function() {
new Ajax.Autocompleter("ass_name", "autocomplete_choices", "<? echo WEB_ROOT . $page_name; ?>?action=ajax_autocomplete", {
paramName: "value",
minChars: 2,
indicator: 'indicator1',
afterUpdateElement: getSelectionIdAss
});
}
は、その後、私のModalBox()の呼び出しに、私は '後負荷' コールバックパラメータを追加します:
onclick="Modalbox.show(this.href, {title: this.title, width: 470, evalScripts: true, afterLoad: function() { makeAutocompleters(); }}); return false;"
そして、それが働いた:D
だから、ここではこれまでと同じ問題に遭遇し、誰のために、です。
マチュー
所属していません StackOverflow