Moin Leute,
seit ca Freitag kaue ich auf dem selben Problem rum.
Folgender Fall: Ich habe 3 selectboxen, die mit werten aus der Datenbank gefüllt werden. Diese sind voneinander abhängig (die zweite von der ersten, die dritte von der zweiten und ersten). Habe bei euch einen Code gefunden, mitdem hat es auch wudnerbar geklappt.
Bis... Ich den Internetexplorer die Seite geöffnet hab. Mit Opera, Firefoxund Safari läuft das Problemlos. Nur beim Internetexplorer hängts.
Also workaround. Bin dann soweit gekommen das ich die selects mit in die zuladende PHP dateien eingebunden hab. Funktioniert bei zwei selectboxen auch wunderbar.
Nun Folgender fall: Meine zweite selectbox soll, wie die erste, per onChange ein script aufrufen. Das script ist aber leider in die php-site "Tagesansicht" eingebunden. jetzt denk ihr, lager das script doch aus und lade es dann in die nachzuladende php.
Leider bin ich auf JS echt schlecht, sehr schlecht... Habs einfach nicht hinbekommen. Der letzte error war dann n "header already sent", soweit ich mich erinnern kann.
Nun meine Frage:
1. Gibt es eine möglichkeit mit dem IE fehlerfrei die selects anzeigen zu lassen, ohne das <select> in die nachzuladende phpdatei auszulagen? Sodas ich dann per onChange das script auf der Hauptseite ("Tagesansicht") öffnen kann? Wenn ja in wiefern muss ich meinen Code abändern damit is (als noob) es auch schaffe...
ich poste euch mal meinen Code:
Alles anzeigen
Die selects werden durch <b id=""></b> reingeladen... Ja bissl komisch, aber sobald ich divs benutzt hab, hat er mir die selects nichtmehr nebeneinander angezeigt, sondern untereinander
Alles anzeigen
Alles anzeigen
in func1.php versuche ich mit onChange ein script aufzurufen das es auf der seite nicht gibt, ich weiß, das war noch, als ich versucht hab das script in die func1.php einzubinden. Möchte das select komplett aus den func"x".php raus haben.
Ich hoffe ihr könnt mir helfen, kaue nun schon ewig drauf rum und komm nicht weiter...
soll ich den unnötigen code rausschneiden? dann wirds vllt übersichtlicher
edit: ok habs rausgenommen
vielen Dank
grüße Timo
seit ca Freitag kaue ich auf dem selben Problem rum.
Folgender Fall: Ich habe 3 selectboxen, die mit werten aus der Datenbank gefüllt werden. Diese sind voneinander abhängig (die zweite von der ersten, die dritte von der zweiten und ersten). Habe bei euch einen Code gefunden, mitdem hat es auch wudnerbar geklappt.
Bis... Ich den Internetexplorer die Seite geöffnet hab. Mit Opera, Firefoxund Safari läuft das Problemlos. Nur beim Internetexplorer hängts.
Also workaround. Bin dann soweit gekommen das ich die selects mit in die zuladende PHP dateien eingebunden hab. Funktioniert bei zwei selectboxen auch wunderbar.
Nun Folgender fall: Meine zweite selectbox soll, wie die erste, per onChange ein script aufrufen. Das script ist aber leider in die php-site "Tagesansicht" eingebunden. jetzt denk ihr, lager das script doch aus und lade es dann in die nachzuladende php.
Leider bin ich auf JS echt schlecht, sehr schlecht... Habs einfach nicht hinbekommen. Der letzte error war dann n "header already sent", soweit ich mich erinnern kann.
Nun meine Frage:
1. Gibt es eine möglichkeit mit dem IE fehlerfrei die selects anzeigen zu lassen, ohne das <select> in die nachzuladende phpdatei auszulagen? Sodas ich dann per onChange das script auf der Hauptseite ("Tagesansicht") öffnen kann? Wenn ja in wiefern muss ich meinen Code abändern damit is (als noob) es auch schaffe...
ich poste euch mal meinen Code:
Quellcode
- //Tagesansciht.php
- <?php
- /*Es wird eine Datei eingebunden, die das Login checkt */
- /*vebindung zur db anders uwnichtiges zeug*/
- ?>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
- <html>
- <head>
- //bla bla
- //hier das erste script
- <script type="text/javascript">
- <!--
- function sendRequest1()
- {
- var req;
- try
- {
- req = window.XMLHttpRequest?new XMLHttpRequest():
- new ActiveXObject("Microsoft.XMLHTTP");
- }
- catch (e)
- {
- //Kein AJAX Support
- }
- req.onreadystatechange = function()
- {
- if ((req.readyState == 4) && (req.status == 200))
- {
- document.getElementById('inhalt3').innerHTML = req.responseText;
- }
- };
- var id = document.getElementById('dropdown2').value;
- req.open('get', 'func1.php?s='+ id + '&anti_cache=' + Math.random());
- req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- req.send('s='+ id);
- }
- //-->
- </script>
- //hier das zweite script
- <script type="text/javascript">
- <!--
- function sendRequest2()
- {
- var req;
- try
- {
- req = window.XMLHttpRequest?new XMLHttpRequest():
- new ActiveXObject("Microsoft.XMLHTTP");
- }
- catch (e)
- {
- //Kein AJAX Support
- }
- req.onreadystatechange = function()
- {
- if ((req.readyState == 4) && (req.status == 200))
- {
- document.getElementById('inhalt2').innerHTML = req.responseText;
- }
- };
- var id = document.getElementById('inhalt3').value;
- req.open('get', 'func2.php?s='+ id + '&anti_cache=' + Math.random());
- req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
- req.send('s='+ id);
- }
- //-->
- </script>
- </head>
- <body>
- <div id="Inhalt">
- //bla bla
- <p>
- <form name="form" method="post" action="">
- <select id="dropdown2" onChange="sendRequest1()">
- <option value="">Jahr</option>
- <?
- /*Abfrage für die Jahre*/
- $result = mysql_query("SELECT
- id,
- datum
- FROM
- ".$rofl."_kunde
- GROUP BY datum
- HAVING count(datum)>0
- " );
- //hier passier ganz viel, aber unwichtig
- //und solange option felder angelegt wie $new groß ist!
- for($i=0; $i<$count3; $i++)
- {
- echo '<option value="'.$new[$i].'">'.$new[$i].'</option>';
- };
- ?>
- </select>
- <b id="inhalt3"></b>
- <b id="inhalt2"></b>
- <input type="submit" name="Anzeigen" value="anzeigen">
- </form>
- </p>
- </div>
- </body>
- </html>
Die selects werden durch <b id=""></b> reingeladen... Ja bissl komisch, aber sobald ich divs benutzt hab, hat er mir die selects nichtmehr nebeneinander angezeigt, sondern untereinander
Quellcode
- //func1.php erste nachzuladende PHP
- <?php
- //paar includes, verbindung zur db, sonstiges gedöhns
- $result = mysql_query("SELECT id,datum FROM ".$rofl."_kunde
- WHERE
- datum like '".$_GET[s]."%'
- GROUP BY datum
- HAVING count(datum)>0 ") or die(mysql_error());
- //hier passiert ganz viel
- ?>
- <select id="inhalt3" onChange="sendRequest2()">
- <option>Monat</option>
- <?
- //und solange option felder angelegt wie $new groß ist!
- for($i=0; $i<$count3; $i++)
- {
- echo '<option value="'.$new[$i].'">'.$new[$i].'</option>';
- };
- ?>
- </select>
Quellcode
- //func2.php zweite nachzuladende PHP
- <?php
- //paar includes verbindung zur db, sonstiges gedöhns
- $result = mysql_query("SELECT id,datum FROM ".$rofl."_kunde
- WHERE
- datum like ' ".$jahr."%".$monat."%'
- GROUP BY datum
- HAVING count(datum)>0 ") or die(mysql_error());
- //ganz viel gedöhns
- ?>
- <select id="inhalt2">
- <option>Tag</option>
- <?
- //und solange option felder angelegt wie $new groß ist!
- for($i=0; $i<$count3; $i++)
- {
- echo '<option value="'.$new[$i].'">'.$new[$i].'</option>';
- };
- ?>
- </select>
in func1.php versuche ich mit onChange ein script aufzurufen das es auf der seite nicht gibt, ich weiß, das war noch, als ich versucht hab das script in die func1.php einzubinden. Möchte das select komplett aus den func"x".php raus haben.
Ich hoffe ihr könnt mir helfen, kaue nun schon ewig drauf rum und komm nicht weiter...
soll ich den unnötigen code rausschneiden? dann wirds vllt übersichtlicher
edit: ok habs rausgenommen

vielen Dank
grüße Timo
----[Blockierte Grafik: http://www.smilie-harvester.de/smilies/Alltag/putzen.gif] Nein ich bin nicht die Signatur, ich Putz hier nur ---
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von eseL ()