Formulardaten bei onchange an PHP senden

Frank73

Mitglied
Hallo,

ich habe ein Problem was ich alleine nicht zu lösen vermag. Folgendes soll gemacht werden. Ich habe mehrere Formularfelder deren Inhalt nur bei Änderung (onchange) zur Weiterverarbeitung an ein PHP Script geschickt werden.

Das funktioniert auch. Allerdings für jedes Inputfeld einzeln. Ich möchte aber bei Änderung in einem Feld die Inhalte aller Variablen der Felder mit senden. Quasi als wenn ein fertiges Formular via Submit abgesendet wird.

Hier die betreffenden Codezeilen:
HTML:
<input type="text" name="Eingabe1" onchange="Inhalt1(this.value)"><br>
<input type="text" name="Eingabe2" onchange="Inhalt2(this.value)"><br>
<input type="text" name="Eingabe3" onchange="Inhalt3(this.value)"><br>


<script type="text/javascript">
function Inhalt1 (Feld1) {
if (Feld1 != "") {
frame.location.href = "test1.php?variablenname1="+Feld1;}}

function Inhalt2 (Feld2) {
if (Feld2 != "") {
frame.location.href = "test1.php?variablenname2="+Feld2;}}

function Inhalt3 (Feld3) {
if (Feld3 != "") {
frame.location.href = "test1.php?variablenname3="+Feld3;}}
</script>

Hat jemand einen Lösungsansatz oder eine Idee?

Vielen Dank für jede Hilfe...
 
Deine momentane Lösung Frames zu nutzen ist eher nicht so gut.
Da man eigentlich allgemein Frames nicht nutzen sollte und Frames mit 1px*1px-Größe von einigen AntiVirus-Programmen geblockt werden.

Eine bessere Lösung wäre AJAX, damit rufst du auch ein PHP-Skript auf.
Dann würde ich mit AJAX per POST alle Daten als JSON schicken.
(JSON ist ein festgelegtes Format, mit dem du Daten übertragen kannst).

Mach dich am besten mal schlau über AJAX und JSON, falls du noch nichts davon gehört hast.


Falls du dennoch einen Lösungsansatz für deine Vorgehensweise willst:
Hänge einfach mehrere Variablen an die URL für den Frame, z.B.:
Javascript:
"test1.php?var1="+Feld1+"&var2="+Feld2+"&var3="+Feld3;
 
Danke für den Tipp - ich habe aber eine Lösung gefunden.

<form name="creator" method="POST".....


onchange="document.creator.submit(this.value)....

Und schon funktioniert das. Aufgerufen wird ein PHP Script welches via gdlib ein Bild erzeugt. Aktuell findet das in einem IFRAME statt. Besser wäre natürlich ich könnte es in einen DIV Container anzeigen und aufrufen. Aktuell gebe ich dazu im FORM ein target="frame" an. Das geht für DIV Container natürlich nicht - gibts dafür eine simple Lösung?
 
Dann geht dann nur per JavaScript und AJAX.

Könntest du mal den Anwendungsfall genauer beschreiben, vielleicht gibt es ja doch eine JavaScript-Freie Lösung.
 
Zurück