تنفيذ تعليمات برمجية جافا سكريبت عند التحميل (وداخل) صندوق جافا سكريبت Modalbox

StackOverflow https://stackoverflow.com/questions/685998

سؤال

ما أحاول فعله بالضبط هو جعل برنامج الإكمال التلقائي الخاص بي 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
    });
});

ثم لدي div ومؤشر الإكمال التلقائي الذي يظهر في نهاية نص html الخاص بي:

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

لقد اتصلت أيضًا بـ Modalbox() باستخدام evalScripts:حقيقي.

لذلك أعرف أساسًا أين تكمن مشكلتي:أريد إنشاء أدوات الإكمال التلقائي الخاصة بي عند تحميل النموذج، ولكن كائن "النافذة" يتم تحميله بالفعل عند كتابة البرنامج النصي لأنه في الأساس نفس نافذة صفحة الاتصال.

ومع ذلك، فأنا بصراحة لا أرى إلى أي حدث يمكن أن يتم إطلاقه فعليًا.لا أعرف حتى ما إذا كان ذلك ممكنًا بالفعل، لكنني بالتأكيد آمل أن يكون كذلك.

لذا..هذا كل ما في الأمر.لا أعرف ماذا أضيف.لا تتردد إذا كنت بحاجة إلى أي توضيحات بشأن مشكلتي.

هل كانت مفيدة؟

المحلول

هل أنت على علم بـ modalbox وظائف رد الاتصال؟يمكنك استخدام ال afterLoad واحد لإنشاء الإكمال التلقائي.

نصائح أخرى

وOK، يبدو وكأنه كنت قادرا على الإجابة على سؤالي الخاص بعد كل شيء.

وأنا المغلقة بلدي خلق Autocompleter في وظيفة:

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

وحتى هنا هو، على أي شخص آخر الذي يدير من أي وقت مضى في نفس القضية.

وماتيو

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top