JavaScript Problem mit jQuery Validation Plugin

darton

Lt. Junior Grade
Registriert
Okt. 2004
Beiträge
282
Hallo!
Ich benutze zur Fomular-Validierung das offizielle jQuery Validation Plugin. Nun habe ich allerdings ein kleines Problem. Ich benutze für das Abschicken des Formulars einen Link anstatt eines Submit Buttons. Deswegen habe ich dafür folgenden Javascript-Code eingebaut:
Code:
$('.edit').click(function() {
    $("#form1").submit();
}
Wenn keine Fehler beim Validieren auftreten, wird ja der submitHandler vom Plugin aufgerufen. Mein Problem ist nun, dass ich von dem submitHandler aus wissen muss, welcher Link angeklickt wurde. Also in etwa sowas:
HTML:
submitHandler: function(form) {
           $.post('edit.php', $("#form1").serialize(), function(phpData) {
                   $(this).parent().parent().parent().addClass('locked');
                   $(this).parent().html(phpData);
            });
}
Der submitHandler hat ja nun leider keine Ahnung, was $this ist, da man sich ja nun in einer ganze anderen Funktion befindet. Und man kann ihm ja auch keine Parameter mitgeben. Meine einzige Idee wäre, $this in eine globale Variable zu tun, was natürlich auch etwas unschön ist. Fällt euch noch was anderes ein?
 
Speichere dir das geklickte Element einfach außerhalb, z.B.
PHP:
var element;
$('.edit').click(function() {
  element = $(this);
  $("#form1").submit();
}
Im submitHandler kannst du dann auf "element" zugreifen.

Gruß
Tom

Wer lesen kann ist klar im Vorteil, hab grad gesehen, dass globale Variable unschön ist... du könntest dem geklickten Element eine eindeutige ID oder CSS-Klasse zuweisen, welche du dann im submitHandler wieder ansprechen kannst. Ist aber noch unschöner als ne globale Var.
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben