|
|||
Ich habe mal was auf die Schnelle gebastelt: Ajax - 2 Inhalte gleichzeitig laden
|
Sponsored Links |
|
|||
Das sieht sehr gut aus =), nur noch eine Frage, wie sehen deine get.php's aus? Dort was geändert?
hab das Skript (danke dafür) mal eingebaut (noch ein bisschen umbenannt, dass ich die ganzen Links nicht wieder ändern muss=D) jetzt geht der body onload endlich und es kommt Inhalt, wenn man die Seite lädt, aber die Navi-Buttons funktionieren noch immer nicht bzw. es passiert einfach nix wenn man drauf klickt...da ich nicht Textlinks nutze, kann ich die Javaskriptfunktionen kaum direkt in den href= Teil schreiben oder? Bei mir siehts momentan so aus: Code:
<a href="javascript:void(0);" onClick="sndReqBB('getHomeBB'); sndReqSB('getHomeSB');" onmouseover="MM_swapImage('Home Button','','images/index_03ro.png',1); window.status='Zurück zur Startseite'; return true;" onmouseout="MM_swapImgRestore(); window.status=''; return true;"> Ich danke dir herzlich für deine Mühe!! *handschüttel* Geändert von luckyluke (25.04.2008 um 22:36 Uhr) |
|
|||
Achso ja, meine get.php sieht total einfach aus:
PHP-Code:
Du kannst es natürlich auch als Textlink so wie ich machen, aber warum es bei dir dann trotzdem nicht geht, weiß ich im Moment auch nicht :/ Weiß nur, dass onclick im XHTML klein geschrieben wird, aber daran kann es kaum liegen. Habe es auf meiner Seite auch mal in onclick geändert und es geht immer noch. Ansonsten mal das mit den Meta-Tags in meiner Seite mit aufnehmen, also dass der Cache leer ist. Das gibt es auch mit einer php-Variante. PHP-Code:
Geändert von cgdesign (25.04.2008 um 23:50 Uhr) |
|
|||
Juhu, habs nach ein paar Stunden rumprobieren doch noch geschafft, ich danke dir!!!
Also abgesehen von ein paar kleineren Details funktionierts (also über den Berg bin ich*g*), habe die request.js ein wenig umbenannt, sieht jetzt so aus: Code:
function sndReqSB(action) { try { req = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { //Kein AJAX Support } req.onreadystatechange = handleResponse; req.open('get', 'smallboxcontent.php?s='+ action); req.send(null); } function handleResponse() { if((req.readyState == 4) && (req.status == 200)) { document.getElementById('smallbox').innerHTML = req.responseText; } } function sndReqBB(action) { try { req2 = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { //Kein AJAX Support } req2.onreadystatechange = handleResponse2; req2.open('get', 'bigboxcontent.php?s='+ action); req2.send(null); } function handleResponse2() { if((req2.readyState == 4) && (req2.status == 200)) { document.getElementById('bigbox').innerHTML = req2.responseText; } } Code:
<?php switch($_GET['s']) { default: case 'getHomeSB': $filename = 'txt_home/text_smallbox.html'; break; case 'getProfilSB': $filename = 'txt_profil/text_smallbox.html'; break; ....usw. case 'getSmallForm': $filename = '/forms/smallkontaktform/index.php'; break; } $handle = fopen($filename, 'r'); $content = fread($handle, filesize($filename)); fclose ($handle); echo 'smallbox'.$content; ?> OK, jetzt hab ich noch zwei kleinere (hoffentlich) Probleme, die mit grosser Sicherheit auf reine Unwissenheit zurückzuführen sind: 1. es zeigt mir oben Links in den beiden DIV-Elementen das Wort "smallbox" bzw. "bigbox" an, ohne dass es irgendwo so im Code stehen würde (seht selbst hier), also gehe ich davon aus, dass diese beiden Wörter irgendwo von einem Skript generiert werden, sprich .js oder .php, nur weiss ich nicht welches...die verdächtigen Zeilen hab ich blau markiert (in den CODE Teilen)... 2. möchte ich gerne einen Formular-Mailer einbauen, der auf PHP aufbaut --> Das letzte Element der smallboxcontent.php verweist auf diese PHP-Datei des Formmailers, sie heisst index.php (rot markierter Teil in der smallboxcontent.php) --> vorher hatte ich iFrames und da war's kein Problem das Teil als index.php einfach reinzuladen, jetzt aber geht es (natürlich?) nicht mehr...meine Frage lautet also: Wie kann ich diese "index.php" des Formmailers mit dem hier vorliegenden Skript in meine Seite integrieren? php-Include? Irgendwo? Wenn ja wo? (Ah ja, die Seite des Formmailer Programmierers enthält Hinweise dazu, aber ich werde nicht schlau daraus --> Formmailer Seite Was ich noch loswerden wollte: Dieses Forum ist der absolute Hammer, ich danke allen, die hier zur Problemlösung beigetragen haben! =) Ganz besonders aber CGDesign! Ehre wem Ehre gebührt! *hehe* --------------------------------EDIT----------------------------------------- OK, hab ein bisschen was rumprobiert und versucht, das mit dem PHP-Include für die Formmailer index.php irgendwie umzusetzen...hab mir das so gedacht: smallboxcontent.php Code:
<?php switch($_GET['s']) { default: .......... case 'getLinksSB': $filename = 'txt_links/text_smallbox.html'; break; case 'getSmallForm': $include = '/forms/smallkontaktform/index.php'; break; } $handle = fopen($filename, 'r'); $content = fread($handle, filesize($filename)); fclose ($handle); echo 'smallbox'.$content; ?> (hatte zuerst das include ohne $ davor, das mochte der Browser gar nicht... =D) jetzt zeigt er noch diese Fehlermeldung/Warnung an, aber was sie bedeutet weiss ich leider nicht...bzw. keine Ahnung, wie das zu beheben wäre^^ Fehlermeldung: Warning: fread(): supplied argument is not a valid stream resource in /home/www/web397/html/fred-lee-john/AJAX/smallboxcontent.php on line 30 Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web397/html/fred-lee-john/AJAX/smallboxcontent.php on line 31 Zeilen 30 und 31 sind die folgenden Code:
$content = fread($handle, filesize($filename)); fclose ($handle); Geändert von luckyluke (29.04.2008 um 01:35 Uhr) |
|
|||
bei mir läuft das auch
erstmal vielen Dank für eure Hilfe! Das war super hier!
Eine Frage hab ich noch. Vielleicht weiß ja jemand spontan wie das geht! Wie kann ich denn eine solche Seite verlinkbar machen? Is das überhaupt möglich? Ich meine, dass sich aus der Adressleiste erkennen lässt, welcher Inhalt sich gerade in den Containern befindet. |
|
|||
würd jetzt mal so aus dem Bauch heraus sagen, dass du das vergessen kannst, da ja di div-container Teil der "Hauptseite" sind und nur mit anderem Inhalt bestückt werden, ist also kein eigener Teil mit Adresse innerhalb der Seite, dafür müsstest du Frames bzw. iFrames verwenden, dann kannst du die einzelnen Inhalte direkt verlinken, da du z.B. im iFrame eine src angeben musst...aber mit dieser Seite (die wir da jetzt hinbekommen haben) lässt sich das kaum realisieren (ist ja eigentlich der Vorteil an der ganzen Sache, du kannst Teile der Seite laden ohne alles neu zu laden UND (hoffentlich) problemlos Skripte wie Shadowbox o.ä. benutzen, die gehen nämlich in iFrames nicht...)
zu meinen Problemchen hast du auch keinen Rat? |
|
|||
Also, auf die Schnelle:
Ich würde die get.php anders lösen, es geht nämlich auch viel ,viel einfacher PHP-Code:
Geändert von cgdesign (29.04.2008 um 13:14 Uhr) |
Sponsored Links |
|
|||
Zitat:
|
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Elemente in einem Div Container links & rechts ausrichte | oliwa | CSS | 8 | 16.07.2004 15:39 |
Problem bei Positionierung eines <div> im Container | Robse | CSS | 2 | 12.06.2004 13:43 |
<div> container ausrichten. IE6 u. Mozilla1.6 | scan | CSS | 3 | 04.03.2004 14:16 |
<div> container verschwindet?! | Gilbert | CSS | 3 | 30.09.2003 14:55 |
<div> container dynamisch vergrößern | Anonymous | CSS | 7 | 27.07.2003 12:40 |