Bonjour,
J'ai le code suivant:Dans ce code et dans la mesure où ma variable est déclarée avant les écouteurs, je ne comprends pas pourquoi la ligne 31 renvoie toujours undefined malgré le focus par défaut.
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
28
29
30
31 "use strict"; const mainForm = document.querySelector('form') , inputDates = mainForm.querySelectorAll("input[name*='_date']") ; var cal = new jsSimpleDatePickr() , inputId ; mainForm.call_date.focus(); // Par défaut mainForm.source_date.addEventListener('focus', function(e) { inputId = mainForm.source_date.id; }, false ); mainForm.request_date.addEventListener('focus', function(e) { inputId = mainForm.request_date.id; }, false ); mainForm.offer_date.addEventListener('focus', function(e) { inputId = mainForm.offer_date.id; console.log('29: '+inputId); }, false ); mainForm.call_date.addEventListener('focus', function(e) { inputId = mainForm.call_date.id; alert(inputId); }, false ); console.log('31: '+inputId);
Remarques:
Le focus par défaut ligne 11 déclenche bien l'écouteur correspondant (ligne 26) avec affichage du nom du champ
La variable inputDates est prévue pour optimiser mon code, mais je ne vois pas comment.
Partager