Seite 1 von 1

Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)

Verfasst: Do Mär 15, 2012 8:08 pm
von MasterLD
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

Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)

Verfasst: Do Mär 15, 2012 8:58 pm
von bbbl
Denkanstoß genug?

Code: Alles auswählen

var xhr = new XMLHttpRequest();
//...
xhr.open("GET", "/ajax.php", true);
xhr.send("key=value&key2=value2");
Alternativ geht auch das:

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)

Verfasst: Fr Mär 16, 2012 11:51 am
von MasterLD
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 :)

Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)

Verfasst: Fr Mär 16, 2012 1:34 pm
von C@mper
ich übergebe php Variablen/Arrays z.B. mit json_ an JS um diese dann dort zu verarbeiten.

in etwa:
xy.php

Code: Alles auswählen

function MyPhpFunc()
{
  .
  .
  $aMyPhpValues = array(........);
  .
  .
  echo "<script type='text/javascript'> var aMyJsValues = ". json_encode($aMyPhpValues ) ."; </script>";
  .
} // MyPhpFunc()
yz.js

Code: Alles auswählen

function MyJsFunc()
{
  .
  .
  document.getElementById('abc').value = aMyJsValues [value]['Huhu'];
  .
} // MyJsFunc()

Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)

Verfasst: Fr Mär 16, 2012 4:14 pm
von MasterLD
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 :)

Re: Via JavaScript Daten an PHP geben (inkl. AJAX-Reload)

Verfasst: Sa Mär 17, 2012 10:28 am
von Dubbel
Dazu musst du den zweiten Code von C@mper quasi umdrehen.

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
}
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.