Bonjour,
J'ai une page avec deux formulaires dont je joins le rendu. Cette page contient deux fichiers JS soit un par formulaire. Je ne comprends pas pourquoi lorsque je clique sur le bouton 'del' du formulaire footForm, le traitement JS est appelé mais la variable 'del' n'est pas transmise au fichier PHP de traitement alors que les autres champs sont bien transmis.
Dans le fichier de traitement PHP, j'obtiens:
$_POST['favourites'] = '';
$_POST['latest'] = '';
et c'est tout.
Code partiel du fichier footForm.js incriminé:
Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 "use strict"; const footForm = document.querySelector('.footForm') ,delBtn = document.querySelector("[name='del']") ; console.log(delBtn.value); // retourne 'supprimer' delBtn.addEventListener('focus', function(e) { let result = confirm(messagesJS); if (!result) e.preventDefault(); else { footForm.submit(); } }, false );
Rendu:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 <!DOCTYPE html> <html lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Titre</title> <meta http-equiv="Expires" content="-1" /> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <link rel="stylesheet" media="all" type="text/css" href="../css/structure.css" /> <link rel="stylesheet" media="all" type="text/css" href="../css/screen.css" /> <link rel="stylesheet" media="print" type="text/css" href="../css/print.css" /> </head> <body> <header> <div class="displTimer"> <span id="timer"></span> </div> <div> <img src="http://sirep.proginet.local/images/logo_sirep.png" alt="logo"> <h1>h1</h1> </div> </header> <section> <div id="left"> <nav class="mainNav"> <!-- Menu vertical --> </nav> </div> <article id="right"> <h2>Fichier clients</h2> <h3>h3</h3> <div class="menuH"> <!-- Menu horizontal --> </div> <form method="post" name="mainForm" action="http://sirep.proginet.local/frontend/mainFormHandler.php"> <input type="hidden" name="id_subscriber" value="1"> <div class="formFlex"> <div> <!-- Champs de saisie --> </div> <div> <!-- Champs de saisie --> </div> </div> <div class="bottom"> <label for="notice">Note</label> <!-- Champ de saisie --> <p class="bottomButton"></p> </div> </form> <form method="post" action="../frontend/footFormHandler.php" class="footForm"> <div> <label for="isFavourit">Ajouter aux favoris</label><input type="checkbox" id="isFavourit" name="isFavourit" value="1"> <label for="favourites">Favoris</label><select name='favourites' id='favourites'><option value='' label='< Sélectionner >'></option><option value='2951'>Weber GmbH</option></select> <label for="latest">Récents</label><select name='latest' id='latest'><option value='' label='< Sélectionner >'></option><option value='3008'>Ecole Maternelle de la Bruche</option><option value='2950'>Société Française de Construction</option><option value='3010'>Millipore</option><option value='2951'>Weber GmbH</option><option value='2953'>SOMAB</option></select> </div> <div> <input type='submit' name='new' value='Nouveau'> <input type="submit" name="del" value="Supprimer" title="Attention, cette action supprimera complètement le client."> <input type="submit" name="print" value="Imprimer" title="Impression de la fiche client"> <input type="submit" name="VCF" value="Carte de visite" title="Enregistre les données au format carte de visite VCF."> </div> </form> <script>const messagesJS = "Attention, vous \u00eates sur le point de supprimer compl\u00e8tement ce client. Cette op\u00e9ration est d\u00e9finitive. Confirmez-vous votre choix\\u+A0?";</script> <script src="../js/footForm.js"></script> <script src="../js/mainForm.js"></script> </article> </section> </body> </html>
Partager