Message d'avertissement

The subscription service is currently unavailable. Please try again later.

Drupal et Javascript - Bouton annuler

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

Dans formulaire que j'ai développé, j'ai deux boutons - Valider et Annuler.
Si le bouton Valider fonctionne parfaitement, celui pour annuler me pose plus de souci.

Au clic sur ce bouton, une alerte doit s'ouvrir. Si l'utilisateur confirme, il doit être redirigé sur la page "liste_civ".
Je parviens à rediriger l'utilisateur au clic, ou à afficher une alerte, mais pas les deux en même temps. Je me suis tourné vers JavaScript pour résoudre mon problème mais sans succès.

Voici mon code Drupal :

drupal_add_js(drupal_get_path('module', 'form_civ') . '/retour_page.js');

$form['retour'] = array(
        '#type' => 'button',
        '#value' => t('Annuler'),
        '#id' => 'retour'
);

Voici mon code JS :

document.addEventListener("click", retourPage,true);

function retourPage(e){
    if (e.button===0){
        if (confirm("Etes-vous sûr de vouloir annuler ? ")){
            document.location.href="liste_civ";
        }
    }
}

Le code fonctionne, à un détail près : l'action se déclenche à chaque fois que l'utilisateur clique sur la page, que ce soit sur le bouton, ou dans la page.
Je ne parviens pas à déclencher cette action uniquement sur le clic du bouton !

Est-ce que l'un d'entre vous peut me donner de nouvelles pistes de recherches ?
Merci d'avance

Forum : 
Version de Drupal :