Hi,
folgendes hab ich vor. Und zwar will ich auf einer HTML-Seite alle Formulare ermitteln und sie so umstellen, daß deren Daten per JQuery verschickt werden. Da ich nicht wissen kann, welche Daten in den jeweiligen Formularen vorhanden sind, muss ich diese vor dem Abschicken ermitteln.
Hab diese beiden Funktionen:
initSubmits() ermittelt alle Formulare und setzt einen Eventhandler für das OnSubmit-Event. Der Eventhandler ist handleSubmit().
$.post(url, params, showPage); versendet die Daten
url: ist klar
params: sind die einzelnen Felder aus dem Formular.
showPage: ist eine Funktion, welche die Antwort vom Webserver verarbeitet.
Die normale Vorgehensweise um Daten per Post zu versenden wäre ja
$.post(url, {paramName1: value1, paramName2: value2}, showPage);
Das ist mir allerdings zu statisch.
Laut JQuery-Doku http://api.jquery.com/jQuery.post/
ist der 2. Paramter für $.post ein Objekt vom Typ "Map". Wie kann ich damit arbeiten? Find leider nichts dazu.
Viele Grüße
Fabian
folgendes hab ich vor. Und zwar will ich auf einer HTML-Seite alle Formulare ermitteln und sie so umstellen, daß deren Daten per JQuery verschickt werden. Da ich nicht wissen kann, welche Daten in den jeweiligen Formularen vorhanden sind, muss ich diese vor dem Abschicken ermitteln.
Hab diese beiden Funktionen:
Code:
function initSubmits() {
var f;
for(var i=0; i<document.forms.length; i++) {
f = document.forms[i];
if(!f.onsubmit) {
f.onsubmit = handleSubmit;
}
}
}
function handleSubmit(evt) {
var e;
var url = evt.target.action;
var params = {};
for(var i=0; i<evt.target.elements.length; i++) {
e = evt.target.elements[i];
params.add(e.name, e.value);// das funzt nicht. So hätt ich das aber am liebsten
}
$.post(url, params, showPage);
return false;
}
initSubmits() ermittelt alle Formulare und setzt einen Eventhandler für das OnSubmit-Event. Der Eventhandler ist handleSubmit().
$.post(url, params, showPage); versendet die Daten
url: ist klar
params: sind die einzelnen Felder aus dem Formular.
showPage: ist eine Funktion, welche die Antwort vom Webserver verarbeitet.
Die normale Vorgehensweise um Daten per Post zu versenden wäre ja
$.post(url, {paramName1: value1, paramName2: value2}, showPage);
Das ist mir allerdings zu statisch.
Laut JQuery-Doku http://api.jquery.com/jQuery.post/
ist der 2. Paramter für $.post ein Objekt vom Typ "Map". Wie kann ich damit arbeiten? Find leider nichts dazu.
Viele Grüße
Fabian