AHAH Tabs und Thickbox 3.1

So sieht das bei mir aus:

content.php:

PHP:
<?php
echo"<a href=\"test.html?height=300&amp;width=300\" title=\"Irgendwas\" class=\"thickbox\">Hier der Link der nicht geht</a>";
?>

content.php im DIV#content laden:

PHP:
<div id="content"><?php include('content.php') ?></div>
Die Javascripts habe ich im "Hauptdokument" belassen.

mfg Maik
 
Irgendwie steh ich aufm Schlauch, sorry.
Hab dir mal meine Dateien gezippt und hier mit drangehängt. Ist doch genau so wie bei dir, oder nicht?
 

Anhänge

  • ahah.zip
    27,3 KB · Aufrufe: 11
Das ist mir jetzt wirklich riesig peinlich, denn dass es bei mir funktioniert hat, lag lediglich an einem Syntax-Fehler in der makeactive.js, der sich beim Tauschen der besagten Zeile eingeschlichen hatte, und nun zwei schliessende }-Klammern am Ende des Codes notiert sind. :-(

Code:
function makeactive(tab) {
        document.getElementById("tab1").className = "";
        document.getElementById("tab2").className = "";
        document.getElementById("tab3").className = "";
        document.getElementById("tab"+tab).className = "active";
        callAHAH('content.php?content= '+tab, 'content', '', 'Error'); }
        //callAHAH('content.php', 'content', '', 'Error');
}
Das erklärt auch, weshalb das "automatische" Laden der content.php bei mir nicht funktioniert hat, und ich deshalb zur [phpf]include[/phpf]-Methode gegriffen habe.

Fazit: der Aufruf der Thickbox funktioniert jetzt bei mir auch nicht mehr, und ich weiß derzeit nicht, wo da der Hebel anzusetzen ist :(

mfg Maik
 
Ach, brauch dir ja nicht peinlich sein!!
Die Sache ist ja die: Wenn ich die js-Files in die content.php einbinde und diese direkt aufrufe funktioniert das ganze. Sobald sie aber über die AHAH-Klasse eingebunden wird irgendwie nicht mehr... na ich teste mal weiter. Wenn du noch ne Idee / Lösung hast würd ich mich echt freuen! Besten Dank auf jeden Fall schonmal.
 
Ersetze mal die Funktion responseAHAH() hierdurch:
Code:
function responseAHAH(pageElement, errorMessage) {
   var output = '';
   if(req.readyState == 4) {
      if(req.status == 200) {
         output = req.responseText;
         document.getElementById(pageElement).innerHTML = output;
         } else {
         document.getElementById(pageElement).innerHTML = errorMessage+"\n"+output;
        }
        tb_init('a.thickbox, area.thickbox, input.thickbox');
      }
      
  }

Warum: Du hast es eingangs schon selbst genannt, das Problem ist, dass der Link per AJAX daherkommt...er steht noch garnicht im Dokument, während die thickbox mit der Arbeit beginnt(es steht dort eingangs zwar derselbe Link, aber nicht der gleiche...es ist halt ein anderes Objekt :) )...beim onload wird per makeactive(1) der AJAX-Content geladen, und den kannte thickbox noch nicht.
Die Änderung sorgt dafür, dass thickbox das Dokument nochmals untersucht, sobald per AHAH neuer Content geladen wurde.
 
Danke euch BEIDEN!!
Ich hab die Tabs-Variante jetzt zwar beiseite gelegt und löse das ganze auf herkömmliche weise (URL mit Parametern) aber trotzdem vielen Dank für eure Unterstützung. Ich denke dass es zukünftig noch öfter solche Fragen gibt - Sven hatte die Antwort :)
 

Neue Beiträge

Zurück