Gestion d'événements sur bouton
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:
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:
Code:
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;
} |
Mon problème est que je n'arrive pas à gérer le bouton erase puisqu'il n'est pas encore défini (erase = null).