|
|||
![]()
...hab die Lösung meines Probs gefunden. Ich dachte die Position des auszugebenden Inhalts wird durch die Position der sndReq()-Methode bestimmt. Hab grad rausgefunden, dass der div in dem der Inhalt liegen soll in der output.php definiert wird!
Oh man, dafür hab ich Stunden gebracht. ![]() Danke nochmal! War ne große Hilfe!!! ![]() |
Sponsored Links |
|
|||
![]()
Hallo,
hatte lange genau dasselbe Problem wie die meisten hier =), wollte keine iFrames mehr benutzen, wusste aber nicht genau wie ich anfangen sollte, etwas mit divs & javascript plus ev. eine prise serverseitige skripte, nur woher nehmen wenn man des php nicht mächtig ist? =) Bin zwar noch nicht ganz fertig mit der übertragung des AJAX Vorschlags auf meine Seite, aber ich habe grosse Hoffnungen, dass es diesmal funktionieren könnte, denn meine Seite ist nur ein klein wenig komplexer als das Beispiel und hier komme ich meiner Meinung nach noch nicht zu einer befriedigenden Lösung... Also: Ich habe anstatt einem div-container dessen Inhalt über einen Link neu geladen werden soll gleich zwei, welche im Idealfall beim Klicken des Navibuttons gleichzeigit geladen würden. Bei der letzten Version mit den iFrames hab ich einfach ein onload-Befehl in der .html des zuerst geladenen iFrames eingebaut, der dann den Inhalt in das zweite iFrame hineingeladen hat Navibutton (Link) --> läd erste html-Seite in iFrame --> body onload in dieser ersten html Seite läd die zweite html-Seite das geht nun logischerweise nicht mehr, da ja die blöden iFrames endlich weg sind, tja, nur was mach ich nun... Wie kann ich mit den in diesem Thread vorhandenen Skripten mit einem Navibutton gleich zwei div container mit neuem Inhalt bestücken (gleichzeitig oder nacheinander...)?? ich danke Euch allen schon mal für Eure Hile! LuKe |
Sponsored Links |
|
|||
![]()
Will auch den Inhalt von zwei divs mit einem klick ändern. Ich versuch mal rum. Wenn ich ne Lösung finde werde ich sie posten. Wenn's jemand schon weiß darf man mir gerne zuvorkommen!
![]() |
|
|||
![]()
OK, grundsätzlich funktionierts bei mir (habe erst den Button "Profil" so programmiert, dass er auf das Skript zugreift, also AJAX von diesem Thread hier)
hier gehts zur Seite an der ich arbeite^^ habe aber neben dem erwähnten "ich will zwei divs auf einmal neu füllen"-Problem noch ein weiteres...: Ich habe zwangsläufig die index.html im dreamweaver als index.php gespeichert und jetzt zerreissts mir die Seite, ein blick auf die Seite (Link oben) erklärt's wohl am besten =/...hatte sowas schonmal und irgendwie hab ichs dann auch hingekriegt, nur weiss ich nicht mehr an was das damals lag...ist damals aber auch beim wechsel von stinknormalem html zu einer php-Seite passiert...ev. kann mich ja da jemand auf die richtige Spur bringen =)... zum "zwei divs laden"-Problem hab ich mir folgende überlegungen gemacht: man könnte ja einfach einen zweiten onClick="sndReq('getProfil');" in das a-tag hineinpacken bzw. das ganze so lösen: onClick="sndReq('getProfilbigbox'); sndReq('getProfilsmallbox');" ich weiss 1. nicht ob das funktioniert (rein javascript-technisch-standart-konform-mässig =D) und 2. nicht wie ich das umsetzen soll, denn der zweite Teil (getProfilsmallbox) muss auf eine andere Datei zugreifen (in der output.php verlinkt) und ich weiss nicht ob das geht (vermutlich nicht), da in der output.php die ID des DIV-Containers angegeben wird, man müsste im Prinzipt eine zweite output.php haben in der die ID des zweiten DIV-Containers steht und dort ecke ich an^^...und ja, ich weiss, dass meine Seite alles andere als professionel daherkommt...ist aber auch noch in der Aufbauphase =)... danke für jede Hilfe! Geändert von luckyluke (24.04.2008 um 19:42 Uhr) |
|
|||
![]()
Erstell doch noch eine Funktion wie diese und benenn sie anders
Code:
function sndReq(action) { http.open('get', 'output.php?action='+action); http.onreadystatechange = handleResponse; http.send(null); } Und dann kannst du auch mit onclick="sndReq('getProfil');sndReq_2('getProfilsm allbox')" 2 Inhalte laden, zumindest stell ich mir das jetzt so vor. |
|
|||
![]()
Hm, klingt gar nicht so abwegig =), werd's gleich versuchen!
Also, der zweite Teil, also die 2. html Datei soll in den roten Bereich (unten) Code:
<tr> <td><img id="index_11" src="http://xhtmlforum.de/images/index_11.png" width="2" height="418" alt="" /></td> <td> <div id="smallbox" style="width:240px; height:418px; overflow:auto; border:0px;"></div> </td> <td><img id="index_13" src="http://xhtmlforum.de/images/index_13.png" width="2" height="418" alt="" /></td> <td colspan="7"> <div id="bigbox" style="width:476px; height:418px; overflow:auto; border:0px;"> <script type="text/javascript"> sndReq('getHome'); </script> </div> </td> <td><img id="index_15" src="http://xhtmlforum.de/images/index_15.png" width="2" height="418" alt="" /></td> </tr> das grüne ist die grössere Box, die bereits funktioniert (mit dem "Profil" Button)... danke für die Inspiration =) Geändert von luckyluke (24.04.2008 um 22:19 Uhr) |
|
|||
![]()
OK, hab das mal alles probiert, nur funktionierts jetzt leider noch weniger als vorher =)...nun geht gar kein Button mehr, obwohl alle "richtig" programmiert wären, es passiert einfach nichts mehr...habe folgendes gemacht (ev. ist ein Blick in den Quelltext der Seite aufschlussreicher)
Das ist der Beispielbutton "Profil" (besteht aus einem verlinkten rollover Bild, für diese Diskussion relevant ist nur der rote teil des Javascripts, das andere ist der Rollovereffekt) Code:
<a href="javascript:void(0);" onClick="sndReqBB('getProfilBB');sndReqSB('getProfilSB');" onmouseover="MM_swapImage('Profil Button','','images/index_04ro.png',1); window.status='Wer wir sind und was wir tun erfahren Sie hier...'; return true;" onmouseout="MM_swapImgRestore(); window.status=''; return true;"><img src="http://xhtmlforum.de/images/index_04.png" alt="Profil Button" name="Profil Button" width="61" height="41" border="0" id="Profil Button" /> </a> in der request.js (rot ist, was ich geändert habe) Code:
function sndReqBB(action) { http.open('get', 'bigboxout.php?action='+action); http.onreadystatechange = handleResponse; http.send(null); } function sndReqSB(action) { http.open('get', 'smallboxout.php?action='+action); http.onreadystatechange = handleResponse; http.send(null); } in den beiden output.php smallboxout.php Code:
<?php switch($_REQUEST['action']) { default: case 'getHomeSB': $filename = 'txt_home/text_smallbox.html'; break; case 'getProfilSB': $filename = 'txt_profil/text_smallbox.html'; break; ......usw. } $handle = fopen($filename, 'r'); $content = fread($handle, filesize($filename)); fclose ($handle); echo 'smallbox|'.$content; ?> bigboxout.php Code:
<?php switch($_REQUEST['action']) { default: case 'getHomeBB': $filename = 'txt_home/text_bigbox.html'; break; case 'getProfilBB': $filename = 'txt_profil/text_bigbox.html'; break; .....usw. } $handle = fopen($filename, 'r'); $content = fread($handle, filesize($filename)); fclose ($handle); echo 'bigbox|'.$content; ?> ja, das war's so in etwa mit meinem Versuch^^, nicht sehr erfolgreich und ich habe keine Ahnung, wo ich den Fehler gemacht haben könnte, höchstens mögliche Vermutungen: 1. die JS Funktion "sndReq" darf nicht umbenannt werden in "sndReqBB" oder so?? fänd ich aber komisch... --> Ausgeschlossen 2. Ich hab was in der PHP Datei vermasselt, höchstwahrscheinlich beim Eintragen der anderen div-ID's...?? 3. Meine Buttons in der index.php haben irgendeine Macke in der onClick-JS-Kette ich hoffe, jemand blickt da besser durch als ich, so nah dran und trotzdem steht da ne mauer! =/ Geändert von luckyluke (25.04.2008 um 16:11 Uhr) |
|
|||
![]()
...bin genauso vorgegangen, weil ich das eigentlich alles auch sehr logisch finde. Klappt aber nicht! Sobald ich ne zweite sendReq(), rein machen geht gar nix mehr. Natürlich habe ich die sie umbenannt und auch eine entsprechende zweite output.php erstellt, usw.. Wie oben beschrieben eben!
Woran kanns liegen? Aber gut zu wissen, dass man nicht allein vor so nem Prob steht! ![]() Ach, ja eins kann ich nach der Rumprobiererei schonmal sagen: mit dem Namen der sendReq() hats nix zu tun. Die kann heißen wie sie will! Immerhn eine von drei vermuteten Fehlerquellen ausgeschlossen! ![]() Grüße Geändert von Graveto (25.04.2008 um 13:38 Uhr) |
|
|||
![]()
Schaut mal hier: Coder Wiki | HowTos | Inhalte mit AJAX & PHP nachladen wenn ihr mehrere Inhalte gleichzeitig laden wollt, dann müsst ihr es in eine Schleife packen.
|
Sponsored Links |
|
|||
![]()
Ui, danke für den Hinweis auf das Tutorial =), obwohl, wenn ich's mir so anschaue werd ich grad noch nicht so richtig schlau daraus, meine PHP & Javascript Kentnisse sind leider noch nicht allzu gross bzw. allzu gefestigt =), lerne das ganze erst gerade...
wo müsste ich denn jetzt bei unserem Beispiel eine Schleife einbauen (in welcher Datei schonmal? In der output.php? oder in der request.js?) und wo im Tutorial sehe ich die Schleife (welches Stück Code?)...hoffe mein "Problempartner" hat da schon tiefergehende Kenntnisse der Materie! =) |
Sponsored Links |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
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 |