Contrôle de saisie de formulaire
Bonjour,
Dans le code suivant, l'absence de données est correctement détectée (lignes 15 et 20) mais lorsque je renseigne le champ vide les valeurs des variables ne sont pas lues et les fonctions alert() continuent de renvoyer 'undefined'.
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
| const form1 = document.getElementById('form1'),
date_accueil = document.getElementById('date_accueil'),
typeOrigine = document.getElementById('type_origine'),
nomOrigine = document.getElementById('nom_origine'),
regexDate = /[0-3][0-9].[0-1][0-9].(19|20)[0-9]{2}/;
form1.addEventListener('submit', function(e) {
if (! regexDate.test(date_accueil.value)) {
alert("La date d'accueil doit être au format 'JJ/MM/AAAA'.\nUtilisez de préférence le calendrier.");
e.preventDefault();
}
alert(1 + typeOrigine.data);
alert(2 + typeof typeOrigine.data);
alert(3 + nomOrigine.data);
alert(4 + typeof nomOrigine.data);
if (typeof typeOrigine.data == 'undefined') {
//alert("Le type et le nom d'origine du contact sont obligatoires.");
//alert(typeOrigine.data);
//e.preventDefault();
}
if (typeof nomOrigine.data == 'undefined') {
//alert("Le type et le nom d'origine du contact sont obligatoires.");
//alert(typeOrigine.data);
//e.preventDefault();
}
}, false); |
Le contrôle de regex quant à lui fonctionne correctement.