| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Feb 2009
Beiträge: 10
| Werte-Ausgabe mittels JavaScript/AJAX funktioniert im IE9 nicht
Hallo liebe Forums-Kollegen, ich Melde mich wieder mit einem Problem, welches ich alleine nicht zu lösen vermag. Ich beschreibe ganz kurz was ich will: ich lese die id einer html-Zelle aus, sende diese mittels JavaScript/ajax an eine php-Datei wo eine MySQL-Abfrage ausgeführt wird. Das Ergebnis wird wieder an die ursprüngliche html-Seite zurückgesendet und in eine andere html-Zelle geschrieben. So weit so gut. Ich habe in Netz auch ein JavaScript gefunden, welches genau diesen Anspruch gerecht wird. Hier zu finden: Ajax Beispiel 004. Jetzt mein eigentliches Problem... Ich habe dieses Script leicht an meine Bedürfnisse angepasst, und es funktioniert auch - nur nicht im IE9! Habs mit Opera, Firefox und Chrome probiert. Überall werden die Werte in die Zellen ausgegeben; nur bei IE9 wird nix ausgegeben. Vielleicht muss bei "Request erzeugen" noch eine Browser-Weiche gemacht, werden. Aber da ich mich erst seit wenigen Tagen mit JavaScript beschäfte, tu ich mir relativ schwer hier eine Lösung zu finden. Ich hoffe einer von euch kann mit weiter helfen. Bei bedarf kann ich den html-Auszug, die php-Datei und das JavaScript posten. Danke. MfG spastman1 |
| | |
| | #2 (permalink) |
| Web-Developer Registriert seit: May 2003 Ort: Essen
Beiträge: 84
|
Poste doch mal deinen Code, damit man sieht was du da versuchst. Was heißt HTML-Zelle, ein DIV Container? Ohne Code ist es schwer zu verstehen) Ansonsten helfe ich dir gern.
__________________ www.simon-koehler.com |
| | |
| | #3 (permalink) |
| Web-Developer Registriert seit: May 2003 Ort: Essen
Beiträge: 84
|
Warum verwendest du eigentlich nicht jQuery dazu? Kennst du jQuery? Damit solltest du sowas sehr leicht umsetzen können, und das kann der IE in der Regel auch. Hier ein kleines Beispiel, wobei ich mal davon ausgehe, dass du die ID als GET-Parameter an das PHP-Script sendest: Also in den Header der HTML-Seite einfach jQuery einbinden: HTML-Code: <!-- jQuery einbinden --> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <!-- Nach dem Laden des Dokuments, den Load direkt ausführen --> <script type="text/javascript"> $(document).ready(function() { $.ajax({ url: 'script.php?id='+$('#containerMitId').attr('id'), success: function(data) { $('#zielContainer').html(data); } }); }); </script> HTML-Code: <script type="text/javascript"> $(document).ready(function() { $('#deinButton').click(function() { $.ajax({ url: 'script.php?id='+$('#containerMitId').attr('id'), success: function(data) { $('#zielContainer').html(data); } }); }); }); </script> Das war's. Finde ich sehr simple, und ich mach mir seit es jQuery oder andere Framworks gibt auch nicht mehr die Mühe alles in Javascript neu zu coden, außer es geht eben nicht anders=)
__________________ www.simon-koehler.com |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Feb 2009
Beiträge: 10
|
Hallo Zeimn, danke das du mir bei meinem Problem hilfst. Mit jQeury habe ich es auch schon probiert. Bin da ebenfalls nicht weiter gekommen. Ich sag dir mal konkret, wie ich es mit jQuery gemacht habe. Hier meine HTML-Zelle aus der ich den id-Wert '15847' übergeben will: HTML-Code: <td name="mitglied1" id="15847" class="mg_name">NAME</td> HTML-Code: <td name="mg1_z1" id="mg1_z1" class="mg_zeilen"></td> Hier meine php-Datei: PHP-Code: und zu guter letzt mein jQuery-Script: HTML-Code: <script type="text/javascript"> $(document).ready(function() { //for(i = 1; i<22; i++){ var abfrage = document.getElementsByName("mitglied1")[0].id; //bei aktivierter for-Schleife hätte ich ("mitglied"+i)[0].id; geschrieben var passNr = abfrage; $.ajax({ type: 'POST', async: false, url: '/php/mitglieder_detail.php', dataType: 'json', data: "passNr="+ passNr, success: function(data){ document.getElementById("mg1_z1").innerHTML = data.spiele; // bei aktivierter for-schleife hätte ich hier ("mg"+i+"_z1").innerHTML geschrieben }, error: function(data){ alert(data.fehler); }, }); //} }); </script> Das war mein Versuch über jQuery. Leider passiert hier gar nichts. Ich bekomme keine Fehlermeldung, kein 'undefinded', gar nichts. Irgendwo habe ich da einen Hund drinnen, und da ich - wie bereits erwähnt - in JavaScript nicht sattelfest bin, tu ich mir mit der Fehlersuche verdammt schwer. |
| | |
| | #5 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.164
| Vorab:
Aber .... machst Du Dir die Sache nicht unnötig schwer?! Wenn ich Dich richtig verstanden habe, geht es doch darum die Inhalte einer Tabelle zuaktualliesieren?! Wäre es da nicht einfach einfach die komplette Tabelle in PHP neu zu generieren, per AJAX zu laden und dann auszutauschen? PHP müsste dafür nur eine ganz normalen (X)HTML-Tabelle generieren und in JS würde diese Zeile ausreichen: Code: $('#tabellenContainer').load('/php/mitglieder_detail.php');
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (23-12-2011 um 12:12 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Feb 2009
Beiträge: 10
|
Hallo Martin, danke für deine Antwort. Das der Ladeprozess asynchron ablauft, habe ich bereits herausgefunden. Deshalb habe ich auch folgenden Code eingebaut: HTML-Code: async: false, So wie ich das sehe, werde ich wohl deinem Rat folgen, und das Ganze in PHP programmieren. Ob ich die Tabelle dynamisch mit PHP ausgebe, oder die Abfrage-Ergebnisse in einem Array speichere, die PHP-Datei mit 'include' in meine Site einbinde und den entsprechenden Array-Wert in richtigen Tabellenfeld mit echo ausgebe, weiß ich noch nicht. Werde mich auf jeden Fall mal dahinter klemmen. Mal sehen was rauskommt. Ich melde mich dann nochmal. Danke euch beiden für eure Hilfe. Ich wünsche noch ein frohes Fest. MfG spastman1 |
| | |
| | #7 (permalink) | |||
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.164
| Zitat:
async:false solltest Du deshalb so schnell wie möglich wieder vergessen. Das ist also ein Parameter der nur in absoluten Ausnahmefällen Sinn macht. Hier definitv nicht: Zitat:
Zitat:
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! | |||
| | |
| | #8 (permalink) |
| NCC 1701 D Registriert seit: Oct 2009 Ort: Metropolregion Hamburg
Beiträge: 588
|
Mich wundert, dass nur der 9’er sich weigert. Microsoft hat ja bekanntermaßen seine eigene Vorstellung von Browsern und Internet. Musst mal darauf achten, wenn das Zeichen, das wie ein Parkverbotsschild aussieht, blau leuchtet, bzw. der Kompatibilitätsmodus. Gibt’s eine Fehlermeldung? Die Error Methode sieht anders aus: ActionScript:
Ansonsten die Daten in eine serielle Reihenfolge erstellen wie bei einem Formular oder jsonp falls Du Same-Domain Richtlinien Moderne Browser verletzt. |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Feb 2009
Beiträge: 10
|
Hallo Martin, ich verstehe jetzt nicht ganz, warum das include das ganze verkompliziert? Ob die Abfrage-Ergebnisse per Java/jQeuery/... in meine Site geladen werden, oder sich die Ergebnisse bereits in meiner Seite befinden (mittels include) ist doch egal. Der einzige "Nachteil" bei meiner derzeitigen Vorgehensweise ist (ich habe es mit include gemacht), dass die Tabelle zur Zeit nicht dynamisch erzeugen lasse. @speedjunkie Danke für deine Antwort. Leider kann ich die Fehlermeldung nicht mehr "erzeugen", da ich jetzt alles über php gelöst habe. Aber danke für deinen Tipp mit der Error-Methode. Werde das bestimmt noch einmal benötigen. |
| | |
| | #10 (permalink) | ||
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.164
| Zitat:
Erst fummels Du in einer PHP-Datei ein Array zusammen und dann fügst Du desen Inhalte in einer anderen Datei in ein statische HTML-Tabelle ein. Mal davon abgesehen, dass ich nicht verstehe, warum Du das auf zwei Dateien aufteilen willst, geht es schief, sobald auch nur eine Eintrag zu wenig im Array steht... Zitat:
AJAX macht IMHO nur da Sinn, wenn Inhalte einer HTML-Seite ausgetauscht werden müssen ohne gleich die ganze Seite neu zu laden.Im übrigen schließen sich PHP und AJAX nicht aus, sondern ergänzen einander. Mit AJAX kann man (wie gesagt) super PHP-generierte HTML-Fragmente nachladen.
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! | ||
| | |
![]() |
| Lesezeichen |
| Stichworte |
| ajax, explorer, ie9, internet, javascript |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Mittels ExternalInterface über AJAX Inhalte in DIVs laden | CSA | Flash CS3 Professional | 3 | 15-05-2008 17:00 |
| Ajax: HTML-Ausgabe | roooot | Alternative Technologien | 6 | 07-11-2006 09:28 |
| Trace Ausgabe funktioniert nicht | CrazyPieter | Flash Einsteiger | 3 | 16-02-2006 12:43 |
| Ausgabe funktioniert nicht Warum? | spacemedia | PHP und MySQL | 8 | 16-10-2003 14:03 |
| Flash Variable-Werte mittels JavaScript ändern | ChriKle | Flash 4 und Flash 5 | 0 | 28-08-2002 17:37 |