ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
2064
2064
EMPFEHLEN
-
13.02.09 10:06 #1
- Registriert seit
- Mar 2005
- Beiträge
- 213
Hallo zusammen
Versuche gerade ein Formular mit mehreren Feldern über AJAX abzusenden und in einer PHP-Datei auszulesen.
Das Absenden des Formulars ist soweit kein Problem.
Wie kann ich jedoch die POST-Daten aus in der PHP-Datei auslesen, gibt es überhaupt eine Möglichkeit dafür oder müssen alle Daten mit JavaScript ausgelesen und mit GET an die PHP-Datei weitergegeben werden?
-
13.02.09 10:12 #2
Du Daten welche du per Formular an PHP schickst, werden in einem Superglobalen Array gespeichert. Zugriff darauf bekommst Du:
PHP-Code://komplettes array
$_POST
// einzelnes inputfeld mit dem name-attribut aufgerufen:
$_POST['name']
-
13.02.09 10:24 #3
- Registriert seit
- Mar 2005
- Beiträge
- 213
Nach dem Absenden des Formulars werden die Daten in der Funktion ShowContent() über getElementById() ausgelesen und anschliessend über die URL an das PHP-Script weitergegeben. Somit ist kein Auslesen über $_POST mehr möglich.
Wie kann der ganze Inhalt des Formulars an formcontent.php weitergegeben werden?
Gibt es eine Möglichkeit, die Formulardaten über POST weiterzugeben?
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
function ShowContent() { textfeld1 = document.getElementById('textfeld1').value; resObjekt.open('get','formcontent.php?textfeld1='+textfeld1,true); resObjekt.onreadystatechange = ShowOutput; resObjekt.send(null); } function ShowOutput() { if(resObjekt.readyState == 4) { document.getElementById(content).innerHTML = resObjekt.responseText; } }
-
13.02.09 11:43 #4
Einfach das get in
durch ein post ersetzen und dann diese gesendeten Werte mit $_POST im php Script wieder abfangen.Code :1
resObjekt.open('get','formcontent.php?textfeld1='+textfeld1,true);
SIehe auch hier:
Ajax TutorialGeändert von SCIPIO-AEMILIANUS (13.02.09 um 11:46 Uhr)
MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
-
13.02.09 12:08 #5
- Registriert seit
- Mar 2005
- Beiträge
- 213
-
-
13.02.09 13:32 #7
- Registriert seit
- Mar 2005
- Beiträge
- 213
Also macht es überhaupt keinen Sinn ein Formular über AJAX abzusenden weil die Daten ohnehin in JavaScript erst abgefangen und anschliessend über GET bzw. POST wieder versendet werden müssen?
Wie sieht es mit Feldern aus welche bzw. 1500 Zeichen enthalten - funktioniert es da auch noch?
-
Ein Limit gibt es per GET, da dürftest du mit 1500 Zeichen evtl. schon in Grenzbereiche stossen.
Per POST spielt es keine Rolle.
Was den Sinn betrifft...was das alleinige Senden des Formulars betrifft, bietet AJAX keinen Zugewinn. Der Vorteil liegt halt darin, dass die aktuelle Seite erhalten bleibt.
Ein Workaround ohne AJAX und umständliches Verarbeiten der Formularfelder wäre das Senden des Formulars in ein verstecktes iFrame. Auch aus diesem iFRame heraus kannst du dann das Ursprungsdokument manipulieren.
-
Hi,
POST Daten können eine (fast) beliebige Größe habe, desshalb macht es bei Formularen durchaus Sinn, diese mittels POST zu schicken."Die Deutsche Rechtschreibung ist Freeware, dass heisst jeder kann sie benutzen wann er will, ohne dafür zu zahlen. Sie ist aber nicht Open Source, also darf sie ohne Zustimmung der Entwickler nicht verändert und weiterverbreitet werden."
-
13.02.09 13:48 #10
- Registriert seit
- Mar 2005
- Beiträge
- 213
Mein Problem ist, dass auf der Seite mehrere Formulare angezeigt werden. Nun wäre es wäre schön, wenn diese über AJAX abgesendet werden könnten.
Das Problem ist einfach, dass ich nicht für jedes Formular eine JavaScript Funktion schreiben kann welche die entsprechenden Input-Felder des jeweiligen Formulars enthält.
Hast du sonst noch eine Idee wie so etwas umgesetzt werden könnte (ohne iframe)?
-
-
13.02.09 14:46 #12
- Registriert seit
- Mar 2005
- Beiträge
- 213
-
13.02.09 23:27 #13
Du könntest allen Input Feldern den selben CLASS Namen zuweisen und dann anschließend mit zum Beispiel folgender Funktion abfragen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
var el=document.getElementsByClassName("inputclass"); var i=0; var u=0; while(i<el.length) { if(el[i].value=="") { u++; } i++; } if(u>0) { alert("Es sind nicht alle Felder ausgefüllt!"); }MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
Ähnliche Themen
-
Ajax XML-Werte per POST an ein PHP-Script senden
Von mrno im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 27.03.09, 11:44 -
POST Daten an Server senden
Von empty123 im Forum PHPAntworten: 6Letzter Beitrag: 21.03.09, 19:38 -
Daten mit POST an Webserver senden
Von Hal1983 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 08.02.08, 08:36 -
Ajax: Größere Datenmengen per Post senden?
Von DataFox im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 02.02.08, 01:38 -
Ajax: Mehrere Parameter per POST senden
Von DataFox im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 02.02.08, 00:52





Zitieren
Login





