Schaltfläche "Senden" verhindern, wenn onclick-Ereignis gesendet wird

9

Ich möchte verhindern, dass eine Übermittlungsschaltfläche mit onclick-Ereignis gesendet wird:

%Vor%

Dies ist die Schaltfläche zum Absenden:

%Vor%

Es wird die "alert" -Funktion angezeigt und entfernt auch das onclick-Ereignis, aber das Formular wird trotzdem übergeben. Entfernen Sie das onclick-Ereignis manuell, bevor Sie das Problem lösen. Dies ist jedoch die Kernfunktionalität von und ich möchte sie nicht entfernen.

BEARBEITEN:

Es wird definitiv durch den onclick-Selektor verursacht. Wie kann ich mein jQuery-Skript zwingen, das onclick-Ereignis sofort neu zu laden? Hinzufügen vor jquery Code: $j('form#userForm .button').attr('onclick',''); wird das Problem lösen .. aber meine Validierung wird nicht mehr funktionieren ...

    
Coen Ponsen 22.02.2013, 15:16
quelle

5 Antworten

19

Sie müssen das Ereignis als Parameter hinzufügen:

%Vor%

Außerdem gibt val() immer eine Zeichenkette zurück, also wäre es ratsam, sie in eine Zahl zu konvertieren, bevor Sie sie mit einer Zahl vergleichen, und ich bin mir nicht sicher, ob Sie wirklich auf alle .button -Elemente abzielen innerhalb von #userForm innerhalb der Funktion, oder wenn Sie stattdessen this verwenden sollten?

Wenn Sie jQuery 1.7+ verwenden, sollten Sie die Verwendung von on() und off() in Erwägung ziehen.

    
adeneo 22.02.2013, 15:16
quelle
12

Wenn Sie den Knopftyp von type="submit" in type="button" ändern, wird ein solcher Button kein Formular senden und es sind keine Problemumgehungen erforderlich.

Hoffe, das hilft.

    
lxgreen 22.02.2013 15:28
quelle
0

Vergessen Sie nicht, dass es Funktions- / Ereignisargumente gibt, aber Sie müssen die Parameter angeben:

%Vor%

Auf diese Weise wird die Einreichung angehalten und Sie können sie somit konditionieren.

    
Grant Thomas 22.02.2013 15:18
quelle
0

Der beste Weg ist, alles in Ihrem Submit-Event-Handler des Formulars zu tun. Entfernen Sie den Inline-Onclick und führen Sie ihn innerhalb der Submit-Funktion aus

%Vor%     
ᾠῗᵲᄐᶌ 22.02.2013 16:28
quelle
-2

Ich glaube, es gibt einen einfacheren Weg:

%Vor%     
Vaidotas Kniuras 29.04.2015 18:27
quelle

Tags und Links