2009-03-26 6 views
1

정확하게하려고하는 것은 내 script.aculo.us를 작성하는 것입니다. Modalbox 오브젝트 내에로드 될 때 내 양식에 대한 자동 완성 기능이 작동합니다.자바 스크립트의로드 (및 내부)에서 자바 스크립트 코드 실행 Modalbox

물론 독립 실행 형으로 양식을로드 할 때 Autocompleter를 사용해 보았는데 예상대로 작동합니다. 참고로, 여기에 기능을로드 내 JS 코드는 다음과 같습니다 나는 또한 Modalbox라고

<span id="indicator1" style="display: none"> 
    <img src="/images/spinner.gif" alt="Working..." /> 
</span> 
<div id="autocomplete_choices" class="autocomplete"></div> 

(:

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의 몸의 끝 부분에 표시 내 Autocompleter에의 사업부 및 표시등이 있습니다)와 evalScripts : true를 비교합니다.

기본적으로 내 문제는 어디에 있는지 알 수 있습니다. 폼의로드가 자동 생성기를 만들지 만 기본적으로 호출과 동일한 창이므로 스크립트가 작성 될 때 "window"개체가 이미로드됩니다. 페이지.

그렇긴하지만 실제로 어떤 사건이 실제로 유발 될 수 있는지는 알 수 없습니다. 나는 그것이 실제로 가능한지조차 모른다. 그러나 나는 그것이 확실히 희망한다.

그래서 .. 그것에 관한 내용입니다. 나는 그 밖의 무엇을 추가해야할지 모른다. 내 문제에 대한 설명이 필요하면 망설이지 말라.

답변

1

당신은 modalbox의 callback functions을 알고 있습니까? afterLoad을 사용하여 자동 완성 프로그램을 만들 수 있습니다.

+0

오! 내 자신의 글을 쓰고 나서 바로 답을 보았습니다. 결국 콜백이 해결책이 될 수있었습니다. 고마워요 :) – Mathieu

1

좋아, 결국 내 자신의 질문에 대답 할 수 있었던 것 같습니다.

내가 함수 내 Autocompleter에 생성을 동봉 :이 일을 그런

onclick="Modalbox.show(this.href, {title: this.title, width: 470, evalScripts: true, afterLoad: function() { makeAutocompleters(); }}); return false;" 

: 내 ModalBox() 호출에 그런

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 
    }); 
} 

, 나는 '후 부하'콜백 매개 변수를 추가 D

이제는 동일한 문제가있는 다른 모든 사람들에게 있습니다.

마티유

+0

빠른 것처럼 보입니다. 예, 이것이 갈 길입니다. – andi