Development #23380
Nanterre: paiement : griser le bouton après un clic
0%
Description
Ticket pour EO, développeur
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a presque 6 ans
- Fichier 0001-nanterre-disable-invoice-button-on-submit-23380.patch 0001-nanterre-disable-invoice-button-on-submit-23380.patch ajouté
- Projet changé de Nanterre à Intégrations graphiques Publik
- Sujet changé de Paiement : griser le bouton après un clic à Nanterre: paiement : griser le bouton après un clic
- Catégorie
UO21 Paiement en lignesupprimé - Statut changé de Nouveau à En cours
- Version cible
Phase 2supprimé - Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a presque 6 ans
Remplacer les <input type=submit> par des <button>, comme partout ailleurs ? Et comme ça simplement pouvoir poser la classe "disabeld-during-submit" sur le formulaire ?
Mis à jour par Thomas Noël il y a presque 6 ans
J'ai donc tenté ce qui suit, mais ça ne marche pas, le bouton n'est pas désactivé et on peut double cliquer :
diff --git a/templates/variants/nanterre/combo/json/rsu-frontoffice-factures.html b/templates/variants/nanterre/combo/json/rsu-frontoffice-factures.html index cd5b1dd..68349a6 100644 --- a/templates/variants/nanterre/combo/json/rsu-frontoffice-factures.html +++ b/templates/variants/nanterre/combo/json/rsu-frontoffice-factures.html @@ -95,7 +95,7 @@ {% if parameters.paiement_actif %} {# Adresse pour paiement : <input type="email" name="email" value="{{ request.user.email }}"/> #} - <input type="submit" value="Payer les factures sélectionnées"/ disabled="disabled"> + <button name="submit" value="Payer les factures sélectionnées" disabled="disabled">Payer les factures sélectionnées</button> </form> <script> @@ -108,15 +108,20 @@ }); $("span#totalamount").text(sum.toFixed(2).replace('.', ',')); if (sum > 0.0) { - $("input:submit").attr("disabled", null); + $("button[name=submit]").attr("disabled", null); } else { - $("input:submit").attr("disabled", "disabled"); + $("button[name=submit]").attr("disabled", "disabled"); } }); $("input#checkall").on('click', function (event) { event.preventDefault(); $("input[name='num_factures']").click(); }); + // on évite les double-clic en désactivant le bouton au premier clic + $('form').on('submit', function(event) { + var $form = $(this); + $form.addClass('disabled-during-submit'); + }); }); </script> {% endif %}
Mis à jour par Frédéric Péters il y a presque 6 ans
Il y a une URL ? En-dehors de tout javascript, ça donne quoi comme résultat en mettant la classe sur le <form> ?
Mis à jour par Thomas Noël il y a presque 6 ans
Frédéric Péters a écrit :
En-dehors de tout javascript, ça donne quoi comme résultat en mettant la classe sur le <form> ?
Ça fait rien du tout (et je m'interroge intérieurement, comment une class css pourrait désactiver un formulaire, j'ai vraiment du mal avec ces logiques)
Mis à jour par Frédéric Péters il y a presque 6 ans
<div class="buttons"> autour du bouton. (là-dessus il sera dit que ça ajoute trop de marge au-dessus, div.invoices div.buttons { margin: 0 0 1ex 1ex; } et ça arrangera aussi l'état actuel qui colle le bouton aux bords).
Mis à jour par Thomas Noël il y a presque 6 ans
- Fichier 0001-nanterre-disable-invoice-button-on-submit-23380.patch 0001-nanterre-disable-invoice-button-on-submit-23380.patch ajouté
Tout roule avec ce patch, merci pour l'aide.
Mis à jour par Thomas Noël il y a presque 6 ans
- Statut changé de En cours à Résolu (à déployer)
commit 69ac7b1e20c154e9bc523fc40215361998107337 Author: Thomas NOEL <tnoel@entrouvert.com> Date: Thu Apr 26 14:54:35 2018 +0200 nanterre: disable invoice button on submit (#23380)
Mis à jour par Brice Mallet il y a presque 6 ans
- Statut changé de Résolu (à déployer) à Solution déployée
nanterre: disable invoice button on submit (#23380)