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