Ergebnis 1 bis 7 von 7
Thema: Ajax PHP-Datei auslesen
-
05-03-2013, 23:35 #1
Grünschnabel
- registriert
- 05-03-2013
- Beiträge
- 7
Ajax PHP-Datei auslesen
Hallo,
ich wange mich so langsam an ajax dran.
Nun hänge ich aber an einer stelle fest.
Ich habe ein Ajax-Script welches mir eine PHP-Datei mit GET aufruft.
Ich möchte nun aber das ich auch noch einfach die Ausgabepunkte wechselt.
HTML (test1.php)
HTML-Code:<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> <title>Test</title> <script type="text/javascript" lang="javascript" src="./js/ajax.js"></script> <style type="text/css"> #ajax{ background: #555; } #ajaxAusgabe{ background: #ddd; } *{ outline: 0; } </style> </head> <body> <div id='ajax'></div> <p>Bitte wählen Sie eine Stadt:</p> <form action=''> <select onChange='return ajaxAnzeige("test.php?wert=" + this.value, this.element)'> <option element="ajaxAusgabe" value='Berlin'>Berlin</option> <option element="ajax" value='Hamburg'>Hamburg</option> <option element="ajaxAusgabe" value='Frankfurt'>Frankfurt</option> </select> </form> <div id='ajaxAusgabe'></div> </body> </html>
Code:var xmlhttp_ajaxAnzeige; function ajaxAnzeige(str, element) { xmlhttp_ajaxAnzeige=GetXmlHttpObject(); if (xmlhttp_ajaxAnzeige==null) { alert ("Browser does not support HTTP Request"); return false; } url=str; xmlhttp_ajaxAnzeige.onreadystatechange=stateChanged_ajaxAnzeige; xmlhttp_ajaxAnzeige.open("GET",url,true); xmlhttp_ajaxAnzeige.send(null); document.getElementById("ajaxAusgabe").innerHTML="<img src='./img/loadings/loading1.gif' />"; return false; } function stateChanged_ajaxAnzeige() { if (xmlhttp_ajaxAnzeige.readyState==4) { document.getElementById("ajaxAusgabe").innerHTML=xmlhttp_ajaxAnzeige.responseText; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { //ie7+, firefox, chrome, opera, safari return new XMLHttpRequest(); } if (window.ActiveXObject) { //ie6,ie5 return new ActiveXObject("Microsoft.XMLHTTP"); } return false; } // - - - - - - - - - - - - Mein fehlgeschlagener Versuch var xmlhttp_ajaxAnzeige; function ajaxAnzeige(url, element) { xmlhttp_ajaxAnzeige=GetXmlHttpObject(); if (xmlhttp_ajaxAnzeige==null) { alert ("Browser does not support HTTP Request"); return false; } xmlhttp_ajaxAnzeige.onreadystatechange=stateChanged_ajaxAnzeige(element); xmlhttp_ajaxAnzeige.open("GET",url,true); xmlhttp_ajaxAnzeige.send(null); document.getElementById(element).innerHTML="<img src='./img/loadings/loading1.gif' />"; return false; } function stateChanged_ajaxAnzeige(element) { if (xmlhttp_ajaxAnzeige.readyState==4) { document.getElementById(element).innerHTML=xmlhttp_ajaxAnzeige.responseText; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { //ie7+, firefox, chrome, opera, safari return new XMLHttpRequest(); } if (window.ActiveXObject) { //ie6,ie5 return new ActiveXObject("Microsoft.XMLHTTP"); } return false; }
PHP-Code:<?php
echo "Sie haben <b>".$_GET["wert"]."</b> ausgewählt!";
sleep(1);
?>
Code:document.getElementById("ajaxAusgabe")
Code:document.getElementById("ajax")
Warum?
Wie muss man das um schreiben das man das auch über das Select-Element bestimmen kann in welches div das ausgeben werden kann?
-
06-03-2013, 01:16 #2
Lounge-Member
- registriert
- 18-08-2004
- Beiträge
- 14.671
AW: Ajax PHP-Datei auslesen
-
06-03-2013, 12:27 #3
Grünschnabel
- registriert
- 05-03-2013
- Beiträge
- 7
AW: Ajax PHP-Datei auslesen
Zeigt mir keinen Fehler an.
Komisch ist, dass er das Img ganz kurz in das richtige Packt, aber sobald das die PHP-Datei geladen hat verschwindet das div
-
06-03-2013, 12:56 #4
Lounge-Member
- registriert
- 18-08-2004
- Beiträge
- 14.671
-
06-03-2013, 13:02 #5
Lounge-Member
- registriert
- 18-08-2004
- Beiträge
- 14.671
AW: Ajax PHP-Datei auslesen
Das sehe ich jetzt erst: Wie kommst du auf dieses Attribut?
Ein option Element hat kein "element" Attribut infolge dessen wird deiner Funktion auch kein Wert übergeben - was zu der von mir erwähnten Fehlermeldung führt.
Wenn du aber unbedingt ein zusätzliches attribut verwenden möchtest, dann benutze das in HTML5 eingeführte Attribut data- HTML5: Eigene Attribute für Elemente erstellen » t3n - Das Magazin für Digitales Business | we love technology
Aber du musst dann bei der Übergabe auch darauf achten, dass du das selektierte option Element ansprichst.
-
06-03-2013, 19:03 #6
AW: Ajax PHP-Datei auslesen
Ein globales XHR-Objekt kann ziemliche Probleme verursachen - versuche das zu ändern.
In deinem Versuch weist du den .onreadystatechange-Eventlistener keine Funktionsreferenz mehr zu, sondern den Rückgabewert der Funktion stateChanged_ajaxAnzeige()... und das ist undefined.
Um dennoch den element-Parameter an die Funktion übergeben zu können, kannst du eine anonyme Funktion verwenden... dabei kannst du die Funktion auch gleich löschen, da die der Grund für das globale XHR-Objekt ist, und gleich komplett mit einer anonymen Funktion arbeiten...
-
06-03-2013, 19:45 #7
Grünschnabel
- registriert
- 05-03-2013
- Beiträge
- 7
AW: Ajax PHP-Datei auslesen
okay, vielen Dank für den Tipp.
Ähnliche Themen
-
XML Datei auslesen
Von ydnaso im Forum JavaScriptAntworten: 7Letzter Beitrag: 10-12-2008, 11:18 -
XML Datei mit PHP auslesen
Von ray_ray im Forum Serverseitige ProgrammierungAntworten: 2Letzter Beitrag: 10-05-2006, 15:23 -
Header aus JPG-Datei auslesen und Werte in Datei schreiben
Von tsochart im Forum Serverseitige ProgrammierungAntworten: 4Letzter Beitrag: 24-09-2005, 21:02 -
Header aus JPG-Datei auslesen und Werte in Datei schreiben
Von tsochart im Forum JobsAntworten: 0Letzter Beitrag: 19-09-2005, 11:48 -
Datei auslesen...
Von alex75 im Forum Serverseitige ProgrammierungAntworten: 1Letzter Beitrag: 03-07-2002, 23:38
Lesezeichen