كيفية تحديد جافا سكريبت لتشغيل عندما ModalPopupExtender هو مبين

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

سؤال

على ASP.NET اياكس ModalPopupExtender وقد OnCancelScript و OnOkScript خصائص ولكن لا يبدو أن يكون لها OnShowScript مكان الإقامة.أود أن تحديد وظيفة جافا سكريبت لتشغيل كل مرة يظهر منبثقة.

في الماضي حالات تعيين TargetControlID إلى دمية في الرقابة على بلدي التحكم الأولى التي يفعل بعض JS التعليمات البرمجية ثم يستخدم شبيبة أساليب لإظهار نافذة منبثقة.ولكن في هذه الحالة أنا يظهر المنبثقة من كل من العميل والخادم الجانب رمز.

أحد يعرف من طريقة لعمل هذا ؟

راجع للشغل, أنا بحاجة إلى هذا لأن لدي مربع نص في الوسائط التي أريد لجعل محرر TinyMCE.ولكن TinyMCE init السيناريو لا تعمل على غير مرئية مربعات النص ، لذا كان علي أن أجد طريقة تشغيله في الوقت مشروط هو مبين

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

المحلول

هممم...أنا متأكد أن هناك يظهر الحدث MPE...هذا من قمة رأسي ، ولكن أعتقد يمكنك إضافة معالج الحدث أن يظهر الحدث page_load

function pageLoad()
{
    var popup = $find('ModalPopupClientID');
    popup.add_shown(SetFocus);
}

function SetFocus()
{
    $get('TriggerClientId').focus();
}

لست متأكدا ثو إذا كان هذا سوف تساعدك مع الدعوة من جانب الملقم ثو

نصائح أخرى

هنا هو طريقة بسيطة للقيام بذلك في العلامات:

<ajaxToolkit:ModalPopupExtender 
                ID="ModalPopupExtender2" runat="server" 
                TargetControlID="lnk_OpenGame" 
                PopupControlID="Panel1" 
                BehaviorID="SilverPracticeBehaviorID"  >
            <Animations>
                <OnShown>
                     <ScriptAction Script="InitializeGame();" />  
                </OnShown>
            </Animations>                
</ajaxToolkit:ModalPopupExtender>

يجب عليك استخدام BehaviorID القيمة mpeBID من ModalPopupExtender.

function pageLoad() {
    $find('mpeBID').add_shown(HideMediaPlayer);
}

function HideMediaPlayer() {
    var divMovie = $get('<%=divMovie.ClientID%>');
    divMovie.style.display = "none";
}

إذا كنت تستخدم زر أو ارتباط تشعبي أو شيئا لتحريك المنبثقة المعرض ، يمكنك أيضا إضافة معالج الحدث onClick الزناد الذي لا يزال ينبغي أن النار مشروط المنبثقة و تشغيل جافا سكريبت في نفس الوقت ؟

على ModalPopupExtender يعدل زر/الارتباط التشعبي الذي قل أن يكون "الزناد" العنصر.Onclick النصي إضافة مشغلات قبل المنبثقة هو مبين.أريد سكربت النار بعد المنبثقة هو مبين.

كما لا يزال يترك لي مشكلة عندما تظهر مشروط من جانب الخادم.

TinyMCE العمل على غير مرئية في مربع نص إذا قمت بإخفاء مع css (display:none;) تقوم "onclick" الحدث على TargetControlID ، init TinyMCE, إذا كنت تستخدم أيضا updatepanel

لمدة سنتين مشروط أشكال:

var launch = false;
var NameObject = '';

function launchModal(ModalPopupExtender) {
    launch = true;
    NameObject = ModalPopupExtender;
}

function pageLoad() {
    if (launch) {
        var ModalObject = $find(NameObject);
        ModalObject.show();
        ModalObject.add_shown(SetFocus);
                }
} 

function SetFocus() {
    $get('TriggerClientId').focus();
}

من جانب الملقم:behand

protected void btnNuevo_Click(object sender, EventArgs e)
{
    //Para recuperar el formulario modal desde el lado del sercidor
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", "<script>launchModal('" + ModalPopupExtender_Factura.ID.ToString() + "');</script>", false);
}
var launch = false;

function launchModal() {
    launch = true;
}

function pageLoad() {
    if (launch) {
          var ModalPedimento = $find('ModalPopupExtender_Pedimento');
          ModalPedimento.show();
          ModalPedimento.add_shown(SetFocus);
    }
}

function SetFocus() {
    $get('TriggerClientId').focus();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top