Formulardaten senden ohne FORM-TAG

Hallo Community

Ich habe im Moment ein Form-Element in einem FOrm-Element, welches nur ein Select-List beinhaltet. Wenn man dort den Eintrag wechselt, wird mit JAVASCRIPT das Formular wie folgt versendet.

$("#ClientList").change(function() {
    $(this).parents("form").submit();
});

Das hat bisher auch funktioniert, da ich nicht ein weiteres Formular drumherum gebaut hatte.

Meine Frage nun, kann ich wenn ich den Eintrag in der Liste ändere, mit Javascript die gewechselte ID ohne ein Formular an eine Methode übergeben?? irgendwie funktioniert das jetzt nicht mehr…

bitte… brauche schnell hilfe =)
mfg
MasterChief

Mal ne Frage, wieso verschachtelst du denn deine Formulare?
Was willst du denn genau machen? Denke, da gibt es eine günstigere Lösung :smiley:

Verschachtelte Formulare machen keinen Sinn und funktionieren auch nicht.

Danke für eure Antwortetn =)

Mir ist klar das das keinen Sinn macht, und das es nicht funktioniert. Ich suche ja eine Alternative

Aus folgendem Grund:

Alle Felder (von beiden Formularen) müssen mit dem ersten Formular mitgesendet werden.

In der Mitte des Formulares gibt es eben dieses „zweite“ Formular, mit einer Selectliste, wenn hier der Eintrag ändert, wechselt (mit JS) die darauf folgende Selectliste.

Konkret: die erste selectliste sind Kunden, wenn der Kunde gewechselt wird, ändern sich die Projekte in der 2 Selectlist.

Aber die Reihenfolge, wie sie eben dargestellt werden, erzwingt mich, da ein „zweites“ formular einzubauen.

Habe eben keine ahnung wie ich das sonst machen soll…

danke

Klingt für mich nach einem Fall für Ajax. Denn ich nehme an, jeder Kunde hat eigene Projekte. Wenn das select gedrückt wird, sendest du per Ajax eine Anfrage an eine andere Seite, die dir für den jewieligen kunden die projekte zurückgibt.
Es sollte dann eine Select-Box als Antwort kommen. Diese Box hängst du dann in das Formular ein.

Falls du genauere Fragen zur Umsetzung hast, oder ich etwas falsch verstanden habe, dann sag bescheid :wink:

Nur ein Formular.

Alle Felder (von beiden Formularen) müssen mit dem ersten Formular mitgesendet werden.

Mach nur ein Formular draus und sende alle Daten zusammen an ein Script. Was mit den einzelnden Daten passieren soll, entscheidet das Script. Es kann ja mehrere Funktionen aufrufen.

In der Mitte des Formulares gibt es eben dieses „zweite“ Formular, mit einer Selectliste, wenn hier der Eintrag ändert, wechselt (mit JS) die darauf folgende Selectliste.

Dafür brauchst Du in der Tat JavaScript.

Konkret: die erste selectliste sind Kunden, wenn der Kunde gewechselt wird, ändern sich die Projekte in der 2 Selectlist.

Ajax.

Oder eben als barrierefreie Alternative erst das eine Select auswählen lassen, dann ein zweites Formular laden, wo die Optionen des zweiten Selects gemäß der Auswahl des ersten selects ausgewählt sind.

Aber die Reihenfolge, wie sie eben dargestellt werden, erzwingt mich, da ein „zweites“ formular einzubauen.

Niemals. Denn zwei Formulare sind sinnfrei und funktionieren nicht.

Danke für euere Antworten… langsam verstehe ich wie das ganze ablaufen sollte =)

@ Gilles:

Könntest du mir erklären wie das mit AJAX funktioniert??

Ajax ist etwas komplexer :smiley:
Ajax Tutorial: Eine Einführung in Ajax

Ich benutze inzwischen frameworks wie Prototype (Prototype JavaScript framework: Easy Ajax and DOM manipulation for dynamic web applications) dafür. Die machen Abfragen mit Ajax erheblich leichter. Würde mir an deiner Stelle trotzdem mal das Tutorial durchlesen, damit du weisst wie es funktioniert :smiley:

Ansonsten zur allgemeinen Benutzung.
Du sendest per Ajax die value des ausgewählten select-feldes (Also kundenname). Weiss ja jetzt nicht, ob du ne mysql-db benutzt, aber auf der Seite, der du die Daten schickst, liest du die projekte für den kunden aus.
Gibts diese als Array in Json Form zurück (JSON). Kannst dann wieder auf der Clientseite das json parsen lassen, sodass du ein Array daraus enthälst. Dann musst du dir nur noch eine Funktion schreiben, die daraus ein select bastelt und dieses in das Formular einhängt :D)
Wirst du wohl schon 2-3 Stündchen für brauchen, wenn du noch nie was mit Ajax gemacht hast und keien Ahnung hast was Json ist :slight_smile:
Aber Ajax ist ne tolle Sache, die immer mehr in Mode kommt. Würde ich mir auf jeden Fall anschauen :slight_smile:
Die Noscript Variante müsstest du dann über 2 Seiten verteilen, wie Efchen gesgat hat :slight_smile:

Danke dir Gilles… werde mir das Tutorial sicherlich anschauen und durcharbeiten!!

Falls Fragen oder Ähndliches auftreten, werde ich mich bestimmt wieder hier irgendwo zeigen lassen :wink:

Schönen Tag noch.
Gruss
MasterChief

Aus diesem Grund habe ich das vorübergehend anderst gelöst… werde mir AJAX aber trozdem aneignen…

meine Lösung:

Ich prüfe auf der Serverseite, ob die Value des Buttons null ist oder nicht.
wenn sie Null ist, weis ich, dass die SelectListe geändert hat, und somit kann ich die beiden Events super unterscheiden.

Thema kann geschlossen werden.
Danke euch:grin: