+ Antworten
Ergebnis 1 bis 6 von 6

Thema: modal popup

  1. #1
    Neu an Board Avatar von tomGB
    Registriert seit
    22.07.2009
    Beiträge
    51
    Bedankte sich
    11
    Erhielt 5 Danksagungen
    in 5 Beiträgen

    Frage modal popup

    Hallo Forum,

    ich habe ein Problem mit dem modal popup in einem view.

    wenn ich diesen Code
    PHP-Code:
    $ret_val '<tbody>'."\n";
                
    $ret_val .= '<tr>'."\n";
                
    $ret_val .= '<td width="110px" class="key">'."\n";
                
    $ret_val .= '<label for="form_content_selector">';
                
    $ret_val .= JText::_"form_content_selector" );
                
    $ret_val .= '</label>'."\n";
                
    $ret_val .= '</td>'."\n";
                
    $ret_val .= '<td id="form_content_selector">'."\n";
                
    $ret_val .= '<a class="modal" href="index.php?option=com_customuser&view=ajax&tmpl=component&controller=item" rel="{handler: \'iframe\', size: {x: 760, y: 500}}" >'."\n";
                
    $ret_val .= '<span class="icon-22-item" style="margin: 0 10px 0 0;" title="'.JText::_"select_item" ).'" ></span>'."\n";
                
    $ret_val .= JText::_("select_item")."\n";
                
    $ret_val .= '</a>'."\n";
                
    $ret_val .= '<a class="modal" href="index.php?option=com_customuser&view=ajax&tmpl=component&controller=editor" rel="{handler: \'iframe\', size: {x: 760, y: 500}}" >'."\n";
                
    $ret_val .= '<span class="icon-22-sourcecode" style="margin: 0 10px 0 0;" title="'.JText::_"insert_sourcecode" ).'" ></span>'."\n";
                
    $ret_val .= JText::_("insert_sourcecode")."\n";
                
    $ret_val .= '</a>'."\n";
                
    $ret_val .= '</td>'."\n";
                
    $ret_val .= '</tr>'."\n";
                
    $ret_val .= '</tbody>'."\n";

                echo 
    $ret_val
    direkt in das default.php template einbinde, klappt es mit dem popup.

    Füge ich den Code aber in dieser abgewandelten Form:
    PHP-Code:
    $ret_val '<tbody>'."\n";
                
    $ret_val .= '<tr>'."\n";
                
    $ret_val .= '<td width="110px" class="key">'."\n";
                
    $ret_val .= '<label for="form_content_selector">';
                
    $ret_val .= JText::_"form_content_selector" );
                
    $ret_val .= '</label>'."\n";
                
    $ret_val .= '</td>'."\n";
                
    $ret_val .= '<td id="form_content_selector">'."\n";
                
    $ret_val .= '<a class="modal" href="index.php?option=com_customuser&view=ajax&tmpl=component&controller=item" rel="{handler: \'iframe\', size: {x: 760, y: 500}}" >'."\n";
                
    $ret_val .= '<span class="icon-22-item" style="margin: 0 10px 0 0;" title="'.JText::_"select_item" ).'" ></span>'."\n";
                
    $ret_val .= JText::_("select_item")."\n";
                
    $ret_val .= '</a>'."\n";
                
    $ret_val .= '<a class="modal" href="index.php?option=com_customuser&view=ajax&tmpl=component&controller=editor" rel="{handler: \'iframe\', size: {x: 760, y: 500}}" >'."\n";
                
    $ret_val .= '<span class="icon-22-sourcecode" style="margin: 0 10px 0 0;" title="'.JText::_"insert_sourcecode" ).'" ></span>'."\n";
                
    $ret_val .= JText::_("insert_sourcecode")."\n";
                
    $ret_val .= '</a>'."\n";
                
    $ret_val .= '</td>'."\n";
                
    $ret_val .= '</tr>'."\n";
                
    $ret_val .= '</tbody>'."\n";

                return 
    $ret_val
    per ajax request und javascript innerHTML ein geht es nicht. Ich vermute, da der Quelltext beim rendern der Seite noch nicht verfügbar ist, greift das modal.js nicht.

    Habe ich eine chance das beim Einbinden nochmal "anzustoßen".

    Danke schon mal fürs lesen.

    Tom

    edit:: Hallo Mod, sehe gerade das ich im falschen Forum bin. Bitte verschieben. Danke
    Geändert von tomGB (10.06.2010 um 21:31 Uhr) Grund: Falsches Forum
    Probleme die man formulieren kann, können auch gelöst werden.

  2. #2
    Neu an Board Avatar von tomGB
    Registriert seit
    22.07.2009
    Beiträge
    51
    Bedankte sich
    11
    Erhielt 5 Danksagungen
    in 5 Beiträgen

    Idee

    Für alle die es interressiert:

    Ich habe in das Javascript, nach dem einfügen des Quellcodes mit
    Code:
    element.innerHTML = quellcode;
    mit
    Code:
     SqueezeBox.initialize({});
    
        $$('a.modal').each(function(el) {
        	el.addEvent('click', function(e) {
        		new Event(e).stop();
        		SqueezeBox.fromElement(el);
        	});
        });
    die Squeezbox neu initialisiert und die a.modal elemente den click neu zugewiesen.

    Tom
    Probleme die man formulieren kann, können auch gelöst werden.

  3. #3
    Neu an Board
    Registriert seit
    16.03.2009
    Ort
    Nordkirchen
    Beiträge
    32
    Bedankte sich
    14
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hallo tomGB,
    ich schlage mich auch gerade mit dem selben Problem herum.

    Meine Lösung funktioniert auch nicht:
    - im Ajax Request habe ich ein JS reingeneriert, was (wie du sagst) die Squeezbox neu initialisiert - funktioniert aber auch nicht

    $this->js = " <script type=\"text/javascript\">
    SqueezeBox.initialize({});
    $$('a.modal').each(function(el) {
    el.addEvent('click', function(e) {
    new Event(e).stop();
    SqueezeBox.fromElement(el);
    });
    });
    </script>
    ";

    Was fehlt beim rendern also noch?
    :-) Micha

  4. #4
    Neu an Board Avatar von cttogo
    Registriert seit
    27.11.2006
    Ort
    Waltrop
    Alter
    44
    Beiträge
    16
    Bedankte sich
    3
    1 Danksagung in 1 Beitrag

    Standard

    Hallo it-micha,

    ich muss mal das script raussuchen wo ich es verwendet habe.

    Ich poste es dann mal.

    Tom

  5. #5
    Hat hier eine Zweitwohnung
    Registriert seit
    14.01.2006
    Ort
    Nienburg
    Alter
    32
    Beiträge
    1.237
    Bedankte sich
    115
    Erhielt 471 Danksagungen
    in 368 Beiträgen

    Standard

    off topic: willkommen im forum "cttogo"

  6. #6
    Neu an Board Avatar von cttogo
    Registriert seit
    27.11.2006
    Ort
    Waltrop
    Alter
    44
    Beiträge
    16
    Bedankte sich
    3
    1 Danksagung in 1 Beitrag

    Standard

    @Matrikular
    Ja, ja, wenn man ma seine Zugangsdaten verloren hatte und die eMail nicht mehr stimmte.
    @it-micha

    Habs jetzt noch mal getestet:

    Nachdem ich per ajax.request
    Code:
    function getFormData(obj,sel,id){
        var value = '';
        var link = '';
        if(sel == 0){
            value = obj[obj.selectedIndex].text.toLowerCase();
        } else {
            value = obj.toLowerCase();
        }
        var link = 'index.php?option=com_customuser&view=ajax&controller=' + value+'&tmpl=component&format=raw&cid='+id;
       
        xmlHttpObject = new XHR
            (
    	       {
    				method: 'get',
    				onSuccess: handleFormContent
    			}
    		).send(link);
    }
    die Daten bekomme habe,
    führe ich per Callback den Quelltext ein und das initialisieren aus.

    Code:
    function handleFormContent(){
      
      $('custom_form').innerHTML = xmlHttpObject.response.text;
    
      $('custom_form').setStyle('display','block');
      SqueezeBox.initialize({});
    
        $$('a.modal').each(function(el) {
        	el.addEvent('click', function(e) {
        		new Event(e).stop();
        		SqueezeBox.fromElement(el);
        	});
        });
    }
    Dadurch wird auf den eingefügten Link
    Code:
    <a class="modal" href="index.php?option=com_customuser&view=ajax&tmpl=component&controller=editor" rel="{handler: 'iframe', size: {x: 760, y: 500}}" >
    <span class="icon-22-sourcecode" style="margin: 0 10px 0 0;" title="insert_sourcecode" ></span>
    insert_sourcecode
    </a>
    die modal Funktion gelegt und das Popup öffnet sich per klick.

    Ich hoffe es hilft. Wenn nicht noch mal Fragen.

    Tom

  7. Erhielt Danksagungen von:


+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein