Evénement input sur element select ne fonctionne pas
Bonjour à tous,
Dans la doc MDN, je lis "Les évènements déclenchés par <select> : input, change"
Si je modifie la valeur d'un élément input, l'événement est déclenché mais ce n'est pas le cas si je change l'option d'un élément select, ni si j'y saisi les premiers caractères. Ligne 4, la console retourne bien tous les éléments et en particulier, les options de l'élément select.
Code:
1 2 3 4 5 6 7 8 9 10 11
| const cardForm = document.querySelector(".cardForm")
, cardFields= cardForm.querySelectorAll("input, select, textarea")
;
console.log(cardFields);
for (let i=0, max=cardFields.length; i<max; i++)
{
cardFields[i].addEventListener('input', function(e)
{
alert(this.name);
},false);
} |
Page html générée
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
| <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<!-- J'ai supprimé quelques balises pour ne pas alourdir -->
<form method="post" action="http://sirep.proginet.local/frontend/controllers/addressHandle.php" class="cardForm">
<div>
<label for="company">Client</label><input type="text" name="company" id="company" value="Nom" /><br/>
<label for="address1">Adresse 1</label><input type="text" name="address1" id="address1" value="avenue de San Severo" /><br/>
<label for="country">Pays</label><select name="countries" id="countries"><option></option><option value="AF">Afghanistan</option><option value="ZA">Afrique du Sud</option><option value="FR" selected="selected">France</option><option value="ZW">Zimbabwe</option></select><br/>
<label for="zip">Code postal</label><input type="text" name="zip" id="zip" value="01234" /><br/>
<label for="city">Ville</label><input type="text" name="city" id="city" value="Ma ville" /><br/>
</div>
<div>
<label for="phone">Téléphone</label><input type="text" name="phone" id="phone" value="01 23 45 67 89" /><br/>
<label for="note">Annotation</label><input type="text" name="note" id="note" value="" /><br/>
</div>
</form>
</body>
</html> |