Hi,
ich hoffe ihr könnt mir helfen. Ich will ein Formular mit Addressdaten automatisch befüllen. Helfen dabei soll mir AJAX.
Konkret, während der Eingabe in den unterschiedlichen Feldern suche ich mittels Ajax in der Datenbank nach entsprechenden Einträgen und zeige sie neben der Formularfelder an.
Das funktioniert auch wunderbar und egal für welches Feld ich das mache.
Nun hab ich ein eigentlich banales Problem:
Ich von den mir angezeigten Ergebnissen eines anklicken und diese Werte in die Formularfelder schreiben. Und hier hört meine Phantasie auf.
Das hier hab ich probiert.
1) <a href>: Ich habe einen Link zusammengebaut, der theoretisch die Felder befüllen soll. Der Link funktioniert aber nicht. Die neue Seite wird geladen, die Felder bleiben leer. Hier mag es sein, dass ich nicht alles korrekt umgesetzt hab (war kurz bevor ich keine Lust mehr hatte), die Lösung würde ich auch nur sehr ungern nutzen, da ich da ne Menge beachten müsste und der Vorteil von Ajax würde wegfallen.
2) <xx onclick>: Ich habe verschiedene Tags hier versucht (a, li, label), die sahen vom Code her sauber aus, es tut sich aber nichts. Alle genutzten Tags dürfen onclick verweden.
3) Ich hab mit den Links noch was probiert, auch verschiedene aufrufe von javascript Funktionen. Ohne Erfolg.
Online hab ich sehr viel gesucht, hab aber nie gefunden, wie aus einer Ajax Anfrage gewonnene Daten mit Ajax geschrieben werden können.
Meine Vermutung ist, dass ich einfach irgendein kleines Detail nicht kenne oder vergesse. Und da hoffe ich, dass ihr mir das sagen könnt.
Den Code liefere ich morgen, der ist grad an einem anderen Rechner, von hier kann ich den leider nicht hier einfügen.
Aber die Struktur kann ich erklären:
Formular.php --(ruft bei Eingabe mit onkeyup getData() auf)--> holeDaten.js --(erstellt XHTTPReq und lässt)--> fragSQL.php --(die SQL-DB abfragen. Die Antwort geht zurück zur)--> holeDaten.js --(und die den Inhalt zurück in die)--> Formular.php
Wie macht sie das (pseudocode)?
In der Formular.php habe ich ein (was ich probiert habe) ein leere <ul id="hierrein"></ul>.
In der fragSQL.php gehe ich das Ergebnis durch und generiere über eine while($row = fetch($result))-Schleife die einzelnen Listenelemente als Text: $liste = $liste . "<li>".$name, $adresse, $plz."</li>"; der reihe nach in eine variable und geb diese mit echo $liste zurück an die holeDAten.js
In der holeDaten.js mach ich dann sowas: Document.getElementById('hierrein').value= xhttpreq.requestText;
Geht das so, oder muss ich über createElement usw. das einfügen?
Gibt es was anderes, das ich zu beachten habe?
VIELEN DANK!!!
DJ
ich hoffe ihr könnt mir helfen. Ich will ein Formular mit Addressdaten automatisch befüllen. Helfen dabei soll mir AJAX.
Konkret, während der Eingabe in den unterschiedlichen Feldern suche ich mittels Ajax in der Datenbank nach entsprechenden Einträgen und zeige sie neben der Formularfelder an.
Das funktioniert auch wunderbar und egal für welches Feld ich das mache.
Nun hab ich ein eigentlich banales Problem:
Ich von den mir angezeigten Ergebnissen eines anklicken und diese Werte in die Formularfelder schreiben. Und hier hört meine Phantasie auf.
Das hier hab ich probiert.
1) <a href>: Ich habe einen Link zusammengebaut, der theoretisch die Felder befüllen soll. Der Link funktioniert aber nicht. Die neue Seite wird geladen, die Felder bleiben leer. Hier mag es sein, dass ich nicht alles korrekt umgesetzt hab (war kurz bevor ich keine Lust mehr hatte), die Lösung würde ich auch nur sehr ungern nutzen, da ich da ne Menge beachten müsste und der Vorteil von Ajax würde wegfallen.
2) <xx onclick>: Ich habe verschiedene Tags hier versucht (a, li, label), die sahen vom Code her sauber aus, es tut sich aber nichts. Alle genutzten Tags dürfen onclick verweden.
3) Ich hab mit den Links noch was probiert, auch verschiedene aufrufe von javascript Funktionen. Ohne Erfolg.
Online hab ich sehr viel gesucht, hab aber nie gefunden, wie aus einer Ajax Anfrage gewonnene Daten mit Ajax geschrieben werden können.
Meine Vermutung ist, dass ich einfach irgendein kleines Detail nicht kenne oder vergesse. Und da hoffe ich, dass ihr mir das sagen könnt.
Den Code liefere ich morgen, der ist grad an einem anderen Rechner, von hier kann ich den leider nicht hier einfügen.
Aber die Struktur kann ich erklären:
Formular.php --(ruft bei Eingabe mit onkeyup getData() auf)--> holeDaten.js --(erstellt XHTTPReq und lässt)--> fragSQL.php --(die SQL-DB abfragen. Die Antwort geht zurück zur)--> holeDaten.js --(und die den Inhalt zurück in die)--> Formular.php
Wie macht sie das (pseudocode)?
In der Formular.php habe ich ein (was ich probiert habe) ein leere <ul id="hierrein"></ul>.
In der fragSQL.php gehe ich das Ergebnis durch und generiere über eine while($row = fetch($result))-Schleife die einzelnen Listenelemente als Text: $liste = $liste . "<li>".$name, $adresse, $plz."</li>"; der reihe nach in eine variable und geb diese mit echo $liste zurück an die holeDAten.js
In der holeDaten.js mach ich dann sowas: Document.getElementById('hierrein').value= xhttpreq.requestText;
Geht das so, oder muss ich über createElement usw. das einfügen?
Gibt es was anderes, das ich zu beachten habe?
VIELEN DANK!!!
DJ