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

Beitrag lesen

hallo,

Okay - ein Formular und Verarbeitung durch PHP.

nein, das hatte ich nicht geschrieben oder Du hast es missverstanden.

Ich hatte geschrieben:
Das Formular wird von PHP bereit gestellt.
Dann hatte ich geschrieben das ich eine Function habe die bei onclick etwas macht
ich hatte aber nicht geschrieben dass das Formular dann durch PHP ausgewertet wird.

Das passiert zwar aber erst im zweiten Stepp.
Zuvor wird der Button angeklickt, dann wird durch Javascript etwas ausgeführt (wobei hier Javascript schon zwingend die ganzen Parameter benötigt also User-ID, blabla-ID und und und) und wenn dass passt dann wird es später durch php in die DB geschrieben.

HTML5 bietet dir diese Möglichkeit sogar standardkonform direkt im HTML. In HTML5 kannst du komplett standardkonform eigene Attribute definieren.

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

Bis zu diesem Zeitpunkt hatte ich zuvor noch nie was über ein data- Attribut gelesen
entweder war es Zufall oder meine schlechte Google-Suche.

Wenn ich natürlich wie jetzt durch Deine Info auf ein data- Attribut hingewiesen werde dann ist es klar das ich es beim ersten Klick unter Google finde.

Dann geht es also doch.

da ich ja das data- Attribut in der Erweiterung selbst bestimmen kann und auch wohl mehrere angeben kann könnte ich somit beliebig viele Parameter durch Javascript aus dem Button bei Klick auslesen lassen.

Nun stellt sich die Frage:

Wird diese variante nun als guter Programmierstil bezeichnet und ist diese dem onclick Handler vorzuziehen ?

Ich würde das nun so machen (ich habe für Button eine css-Definition)
Unter php!

echo '<button class="button zusatzids" data-userid="'.$userid.'" data-zusatzId1="'.$zusatzId1.'" data-zusatzId2="'.$zusatzId2.'">meinbutton</button>';

unter Javascript bzw. dem jQuery Framework  könnte ich diese Attribute nun ganz leicht auslesen mit

  
$(".zusatzids").data(); // lese ich alle data- Attribute aus  
//oder mit  
$(".zusatzids").data("userid"); // erhalte ich nur die userid  

wäre diese  Vorgehensweise gegenüber der Übergabe an Parameter mit onclick

durch
Schreibweise unter php!
echo '<button class="button" onclick="meinefunction('.$userid.','.$zusatzId1.', '.$zusatzId2.' );">meinbutton</button>';

function meinefunction( userid, zusatzId1,zusatzId2)  
{  
//mach was  
}  

vorzuziehen?

Grüße