Hey community,
ich zerbrech mir schon seit einigen Tagen den Kopf darüber wie ich folgendes umgesetzt bekomme:
Ich habe:
- HTML-Formular
- PHP-Script zur Datenbankausgabe
- AJAX-Funktion zum Reload des PHP-Scripts
Nun soll es folgendermaßen ablaufen: Der Nutzer gibt seine Wunschdaten in das Formular ein und bei jeder Änderung lädt der Ausgabebereich (PHP-Script) neu und passt sich entsprechend des Formulars in den Suchergebnissen an. Soweit funktioniert das auch schon. Man gibt Daten ein und via onchange und onblur ruft das Formular die AJAX-Funktion auf, die den Reload veranlasst.
Mein Problem hierbei ist jetzt allerdings die Datenübergabe .. Wie kann ich die Formulardaten so übermitteln, dass ich sie als $_GET[""]-Variable im PHP-Script habe und somit die Ausgabe anpassen kann nach dem Reload.
Hat zwar nur indirekt mit PHP zu tun, aber vielleicht könnt ihr mir ja zumindest nen Denkanstoß verpassen =)
Greetz,
Lars
Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)
Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)
Denkanstoß genug?
Alternativ geht auch das:
Code: Alles auswählen
var xhr = new XMLHttpRequest();
//...
xhr.open("GET", "/ajax.php", true);
xhr.send("key=value&key2=value2");
Code: Alles auswählen
xhr.open("GET", "/ajax.php?key=value&key2=value2", true);
xhr.send();
Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)
Danke für deine Antwort, aber so weit bin ich auch schon .. Wie kriege ich das jetzt hin das key=value aus dem Formular stammt? Also:
- Wie mache ich aus Fomulareingaben JavaScript-Variablen und
- Wie übergebe ich Javascriptvariablen in die open-Funktion?
Mit freundlichen Grüßen,
Lars
- Wie mache ich aus Fomulareingaben JavaScript-Variablen und
- Wie übergebe ich Javascriptvariablen in die open-Funktion?
Mit freundlichen Grüßen,
Lars
Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)
ich übergebe php Variablen/Arrays z.B. mit json_ an JS um diese dann dort zu verarbeiten.
in etwa:
xy.php
yz.js
in etwa:
xy.php
Code: Alles auswählen
function MyPhpFunc()
{
.
.
$aMyPhpValues = array(........);
.
.
echo "<script type='text/javascript'> var aMyJsValues = ". json_encode($aMyPhpValues ) ."; </script>";
.
} // MyPhpFunc()
Code: Alles auswählen
function MyJsFunc()
{
.
.
document.getElementById('abc').value = aMyJsValues [value]['Huhu'];
.
} // MyJsFunc()
Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)
Hey,
das gibt mir schon mal Hoffnung, dass ich Werte übergeben kann .. Aber die sollen aus HTML-Formulareingaben stammen und nicht aus PHP-Dokumenten, sorry .. Kennst du da vielleicht auch Möglichkeiten?
Peace!
Lars
das gibt mir schon mal Hoffnung, dass ich Werte übergeben kann .. Aber die sollen aus HTML-Formulareingaben stammen und nicht aus PHP-Dokumenten, sorry .. Kennst du da vielleicht auch Möglichkeiten?
Peace!
Lars
Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)
Dazu musst du den zweiten Code von C@mper quasi umdrehen.
z.B. das Formular
Ist jetzt ungetestet, aber vom Prinzip her sollte es so gehen.
Das return false; beim onclick-Event sollte dafür sorgen, dass das Formular nicht wie üblich abgesendet wird und die Seite neu laden muss, da das ja von Ajax übernommen wird.
z.B. das Formular
Code: Alles auswählen
<form>
<input type="text" id="my_form_input" />
<input type="submit" onclick="get_form_value();return false;" />
</form>
Code: Alles auswählen
function get_form_value()
{
var value_from_form = document.getElementById('my_form_input').value;
// die URL, die du mit ajax aufrufst: "deineurl.php?value="+value_from_form
}
Das return false; beim onclick-Event sollte dafür sorgen, dass das Formular nicht wie üblich abgesendet wird und die Seite neu laden muss, da das ja von Ajax übernommen wird.