سؤال

ولدي مشكلة مع استخدام مسج الحوار واياكس تقدم في JSF. لدي البرمجية التالية لعرض نوافذ الحوار:

                <script type="text/javascript"> 
                        jQuery(function(){ 
                                // Dialog 
                                jQuery('#dialog').dialog({ 
                                        dialogClass: 'alert', 
                                        autoOpen: false, 
                                        width: 300, 
                                        height: 150, 
                                        modal: true, 
                                        resizable: false, 
                                        overlay: { 
                                                backgroundColor: '#000', 
                                                opacity: 0.5 
                                        }, 
                                        buttons: { 
                                                "Ok":  function() { 
                                                        jQuery(this).dialog("close"); 
                                                        return true; 
                                                }, 
                                                "Cancel": function() { 
                                                        jQuery(this).dialog("close"); 
                                                        return false; 
                                                } 
                                        } 
                                }); 

                                // Dialog Link 
                                jQuery('#dialog_link').click(function(){ 
                                        jQuery('#dialog').dialog('open'); 
                                        return false; 
                                }) 
                                .hover( 
                                        function() { jQuery(this).addClass('ui-hover-state'); }, 
                                        function() { jQuery(this).removeClass('ui-hover-state'); } 
                                ); 

                        }); 
                </script> 
It works as it should - it displays box when link is clicked. 
Now, I have something like this, for deleting something: 
<a4j:commandLink 
        actionListener="#some.action" 
        reRender="something" 
        onclick="if(!jQuery('#dialog').dialog('open')){return false}" 

ok, this commandLink is rendered as follows: 
<a href="#" 
        id="some:long:id:j_id338" 
        name="formName:something:j_id338" 
        onclick="if(!jQuery('#dialog').dialog('open')){return 
false};A4J.AJAX.Submit('something:something'); 
        return false;" 
>drop</a> 

والآن، بعد عرض مربع الحوار، وA4j.AJAX.Submit (..) هو أعدم، هناك على أية حال، وأنني يمكن على سبيل المثال، تمرير كامل A4J.AJAX.Submit (...) ل"الحوار" وتنفيذه من خيار "موافق"؟ أنا ببساطة الحاجة الى تنفيذ تقديم إذا وفقط إذا المستخدم بالنقر فوق موافق. شكرا لك على المساعدة JQ

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

المحلول

ويمكنك تحديد:

<a4j:jsFunction name="okClicked"
    actionListener="#{some.action}" 
    reRender="something" />

ويطلق عليه في وظيفة موافق، مثل:

"Ok": function() { 
    jQuery(this).dialog("close");
    okClicked();
    return true; 
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top