我真正想做的是让我的 script.aculo.us 自动完成器在我的表单加载到 Modalbox 对象中时工作。
当然,我在独立加载表单时尝试了我的自动完成程序,它可以按预期工作。作为参考,这是我加载该功能的 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
});
});
然后我的 Autocompleter div 和指示器出现在我的 html 正文的末尾:
<span id="indicator1" style="display: none">
<img src="/images/spinner.gif" alt="Working..." />
</span>
<div id="autocomplete_choices" class="autocomplete"></div>
我还用 evalScripts 调用了 Modalbox():true。
所以我基本上知道我的问题出在哪里:我希望在加载表单时创建我的自动完成程序,但是在编写脚本时已经加载了“窗口”对象,因为它与调用页面基本上是同一个窗口。
也就是说,老实说,我看不出它会真正触发哪个事件。我什至不知道这是否真的可能,但我当然希望它是。
所以..就是这样。我不知道还有什么要补充的。如果您需要对我的问题进行任何澄清,请不要犹豫。