Rails data-disable-mit der Re-Aktivierung der Schaltfläche

8

Ich habe ein Rails Devise-Formular mit JavaScript-Validierung. Wenn der Benutzer auf "Senden" klickt, wird die Validierung durchgeführt und der Benutzer wird erneut auf das Formular fokussiert, in dem er sein muss.

rails verwendet jedoch die Funktion "disable-with", um die Schaltfläche nach dem Klicken zu deaktivieren. Nach der Validierung kann der Benutzer nicht mehr auf "submit" klicken. Ich versuche, eine Art von Listener einzurichten, um zu überprüfen, wenn die Schaltfläche deaktiviert wurde, warten Sie ein wenig, um Doppelklicks zu verhindern, und aktivieren Sie dann die Schaltfläche erneut.

Ich habe viele Iterationen des Codes ausprobiert, das letzte, was ich versucht habe, war:

%Vor%

Aber hatte keinen Erfolg, zuvor habe ich versucht, nur einen Listener zu der Schaltfläche hinzuzufügen:

%Vor%

Aber das ist fehlgeschlagen, weil es vor der Funktion lief (versteckt in rails ether), die den Button deaktiviert hat, also nicht funktioniert hat.

Mein Absenden-Button ist einfach:

%Vor%

Kann mir hier jemand helfen? Ich denke, wenn ich die jQuery_ujs für diese Seite deaktivieren kann, die funktionieren würde, aber nicht sicher, ob ich das tun kann.

    
Ryan Murphy 03.02.2017, 03:10
quelle

3 Antworten

0

Ich habe es geschafft, das ganz einfach zu lösen. Ich bin gerade reingegangen und habe die Daten deaktiviert-mit von der Schaltfläche mit dem Code entfernt:

%Vor%

Und dann das Attribut erneut erstellen, wenn das Formular zum Übergeben bereit war, um zu verhindern, dass Doppelklicks Duplikate erstellen.

    
Ryan Murphy 03.02.2017, 03:50
quelle
29

Dieses Verhalten wurde in Rails 5 geändert, jetzt werden Submits standardmäßig deaktiviert.

Anstatt angenommene Antwort, würde ich vorschlagen, die folgende Konfiguration zu verwenden:

%Vor%

oder, um es ad-hoc für bestimmte Schaltflächen zu tun, fügen Sie dies der Übermittlungsschaltfläche hinzu

%Vor%     
macav 17.05.2017 13:00
quelle
1

Schau dir meine Antwort an.

%Vor%

Ссылка

    
waqas ali 01.06.2017 23:55
quelle