Camping_RIDER: jQuery click(function() mehrere Werte übergeben unmöglich?

Beitrag lesen

Aloha ;)

Ein Formular und einen Button.
Im Formular werden Daten eingetragen die später bei Klick auf den Button in eine Datenbank geschrieben werden müssen.
Damit das Programm , welches die Daten in die Datenbank schreibt (in diesem Fall PHP), auch weiss zu welcher ID diese Daten gehören, benötigt es bestimmte Informationen (nicht nur die eingetragenen Daten) sondern bestimmte ID's ob User-ID oder Adress-ID oder was auch immer.
Wenn es um mehrere Tabellen geht und es müssen mehrere ID's berücksichtigt werden die zur Weiterverarbeitung der Daten notwendig sind, dann benötigt die Funktion die hier durch den Button ausgelöst wird auch diese ID's .

Okay - ein Formular und Verarbeitung durch PHP. Dann gibt es überhaupt keinen Grund, JavaScript/jQuery zu verwenden, denn dann sollten die Mittel deiner Wahl ein submit-Button und hidden fields sein - eventuell noch GET-Parameter in der Addresse, an die die Formulardaten via POST gesendert werden (also im action-Attribut des form).

Somit würde das mit dem addEventListener wohl  funktionieren oder aber ich würde es wie in dem Beispiel machen und dem Button einen Link verpassen und den Link dann mit den Werten erstellen, was wohl totaler Schwachsinn ist oder?

Ja, nicht sinnvoll.

Benötigt man jedoch mehrere ID's , Informationen oder was auch immer die der Funktion mitgeteilt werden müssen (oder die sich die Funktion selbst holen kann) wie in meinem Fall so müssen diese Informationen im Formular ja irgendwo hinterlegt sein (ob im Button wie bei onclick="machWasMitDenInfos(1,2,3,4,5);" oder in hidden-Felder  ).

Damit wir nicht aneinander vorbei reden.

Meine Frage ging also dahin, kann man einem Button mehrer Werte geben die man dann via javascript oder jQuery Framework oder was auch immer auslesen kann? ja oder Nein
Wenn ja dann bitte um eine Beispiel.

HTML5 bietet dir diese Möglichkeit sogar standardkonform direkt im HTML. In HTML5 kannst du komplett standardkonform eigene Attribute definieren. Ein eigenes Attribut data-userid kannst du dann im JavaScript über buttonelm.getAttribute('data-userid') abrufen. Das buttonelm ist in einer Klick-Funktion normalerweise über e.target oder (wenn e nicht verfügbar) über this verfügbar.

Wenn jedoch im Netz steht das eine onclick "bad practice" ist, hinterfrage ich dies ob es eine Alternative für mein Vorhaben gibt und suche danach.

Wie gesagt - entweder hast du diese Quelle missverstanden oder sie ist nicht zuverlässig.

. Die Werte die der Button oder eben die Hidden-Feler erhalten werden zuvor durch PHP dynamisch zugewiesen.

So wie in meinem Fall  gibt es anscheinend nur zwei Möglichkeiten wenn man mehrere Werte benötigt die schon beim Aufbau des Formulars generiert und übergeben werden müssen.
Entweder man schreibt sie in hidden-Felder oder man befüllt den Event-handler onclick

Wie gesagt - bei einem Formular sind hidden fields das Mittel der Wahl und ansonsten seit HTML5 data-xyz - Attribute.

Grüße,

RIDER

--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[