Bonjour à tous,
Je me demande si j'arriverai un jour à gérer correctement les événements. Parfois je désespère.
Voici un extrait de mon code html:
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 <form method="post" action="" class="L editGroups"> <label for="id"><?= EDIT_GRP_LBL_GROUPS; ?></label><?= $lstGroups; ?> <?php if ( isset($visible) ): ?> <input type="hidden" name="id_user" value="<?= $idUser; ?>" /> <p><label for="text"><?= EDIT_GRP_LBL_GROUP; ?></label><input type="text" name="text" id="text" value="<?= $toSave['text']; ?>" /></p> <p> <input type="submit" name="save" value="<?= BTN_SAVE; ?>" /> <input type="submit" name="erase" value ="<?= BTN_ERASE ?>" /> <input type="submit" value="<?= BTN_BACK_PAGE; ?>" formaction="<?= CARD_PAGE; ?>" /> </p> <?php endif; ?> </form> <script>const fromPHPtoJS = <?= json_encode(['eraseConfirm'=>EDIT_GRP_CONFIRM]); ?></script> <script src='editGroups.js'></script>
et du javascript:
Mon problème est que je n'arrive pas à gérer le bouton erase puisqu'il n'est pas encore défini (erase = null).
Code : 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 "use strict"; const mainForm = document.querySelector('.editGroups') , group = document.querySelector("[name='id']") , erase = document.querySelector("[name='erase']") ; function handleSelectOnChange() { this.formaction = "parentPage.php?group="+this.value; mainForm.submit(); } function handleEraseOnClick(e) { if ( confirm(fromPHPtoJS.eraseConfirm) ) { mainForm.submit(); } else { e.preventDefault(); } } console.log(mainForm); console.log(group); console.log(erase); group.onchange = handleSelectOnChange; if ( erase ) { erase.onclick = handleEraseOnClick; }
Partager