jquery function ausführen beim klick auf den eine oder den anderen button?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Mal etwas orakelt (ist wieder nicht so eindeutig, was eigentliches Ziel ist)...

  • Eine Javascript-Funktion kann man als Objekt anlegen (var x = function(){...}).
  • Das geht auch, indem einfach der Name einer definierten Funktion angegeben wird.
  • Dieses Funktions-Objekt kann mehreren Buttons als Reaktionsfunktion eingestellt werden.

Du könntest also z.B....

  • $(".kommentarabschicken").click(meineajaxfunktion);
  • $(".kommentaroeffnen").click(meineajaxfunktion);

...definieren.

Du würdest lediglich davon abkommen müssen, Deine Funktion so wie jetzt als anonymes Element unmittelbar bei einem konkreten Funktionsaufruf nebenher zu definieren. Wobei Dir natürlich auch niemand verbieten würde, zwei gleich aussehende Funktionen zu definieren. Oder Die Funktion nebenbei beim nebenher-definiert-werden noch einer Variablen zuzuweisen und die dann bei der nächsten Reaktionsfunktionseinstellung zu übergeben.

Buchstäblich zig verschiedene Wege führen hier nach Rom.

$(document).ready(function() {
                $(".kommentarabschicken").click(function(){
                      sendComments();
                });

                $(".kommentaroeffnen").click(function(){
                      sendComments();
                });


}); //doc ready ende


function sendComments(){
  if($(".kommentareingabe").val() != "") {
                            $.ajax({
                                type: "POST",
                                url: "kommentare.php",
                                data: "kommentareingabe=" + $(".kommentareingabe").val(),
                                cache: false,
                                success: function(html){
                                        $(".scroll").html(html);
                                        $(".kommentareingabe").val();
                                }
                                });
                        }
                        return false;
                    });
}

Wechselt ihr euch wieder ab mit Fragen stellen? :)

if($(".kommentareingabe, .kommentaroeffnen").val() != "") {

jonnidasponny 
Beitragsersteller
 08.02.2013, 22:20

Leider funktioniert das so nicht :( Man wird leider auf die kommentare.php Seite weitergeleitet und dort wird der text ausgegeben.

myjack  08.02.2013, 22:22
@jonnidasponny

Ja. Logisch. steht ja auch in der Funktion. Das wolltest du doch.

EDIT: Ist .kommentaroeffnen evtl. ein submit-Button, der ein Formular absendet?

jonnidasponny 
Beitragsersteller
 08.02.2013, 22:24
@myjack

Ne eigentlich nicht. Es soll auf der gleichen seite wieder ausgegeben werden.

jonnidasponny 
Beitragsersteller
 08.02.2013, 22:26
@myjack

nein ist es nicht. wenn man auf den kommentaroffnen button klick passiert leider garnichts. nur bei dem anderen wird man weiter geleitet.