Problème Javascript
Profil bloqué
-
Profil bloqué -
Profil bloqué -
Bonjour,
j'ai repris un bout de code qui permet de tester si on rentre une date correctement
Si jamais on rentre du texte, alors j'ai une popup toute blanche qui s'ouvre avec rien dedans...je clique sur fermer et la j'obtiens le message: Date invalide!. Veuillez entrer une date valide: jj/mm/aaaa
Pourquoi est-ce que j'ai une popup vide avant ?
Merci
j'ai repris un bout de code qui permet de tester si on rentre une date correctement
function twValide_date(nDate) {
ok = "oui";
var nChar;
var aDate;
var nJ;
var nM;
var nA;
var jMax = 31;
var nA1 = 1900;
var nA2 = 2100;
nAccepte = "0123456789/";
if (nDate.value.length > 0) {
if (nDate.value.length < 8 || nDate.value.length > 10) ok = "non";
for (var i=0; i<nDate.value.length; i++) {
nChar = "" + nDate.value.substring(i, i+1);
if (nAccepte.indexOf(nChar) == "-1") ok = "non";
}
if (ok == "oui")
{
aDate = nDate.value.split("/");
nJ = aDate[0]; nM = aDate[1]; nA = aDate[2];
if ((nJ < 1 || nJ > jMax) || (nM < 1 || nM > 12) || (nA < nA1 || nA > nA2))
{
ok = "non";
}
else
{
if (nM == 2)
{
if (nA == 2000 || nA == 2004 || nA == 2008 || nA == 2012 || nA == 2016 || nA == 2020)
{ jMax = 29 }
else
{ jMax = 28 }
}
if ((nM == 1 || nM == 3 || nM == 5 || nM == 7 || nM == 8 || nM == 10 || nM == 12)) jMax = 31
if ((nM == 4 || nM == 6 || nM == 9 || nM == 11)) jMax = 30
if (nJ < 1 || nJ > jMax) ok = "non";
}
}
if (ok == "non") {
nDate.focus();
nDate.select();
alert ("\nDate invalide!. Veuillez entrer une date valide: jj/mm/aaaa")
}
}
}
Si jamais on rentre du texte, alors j'ai une popup toute blanche qui s'ouvre avec rien dedans...je clique sur fermer et la j'obtiens le message: Date invalide!. Veuillez entrer une date valide: jj/mm/aaaa
Pourquoi est-ce que j'ai une popup vide avant ?
Merci
A voir également:
- Problème Javascript
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
2 réponses
Salut, je suis présser donc je ne saurais pas te répondre mais pour vérifier des chaine de caractères en javascript on use des regex : c'est plus simple
tu peux apprendre les regexs ici
Aussi en js ça existe les booleen alors au lieu de mettre ok = "non" , marque ok = false !
++
function dateValide(sDate)
{
return /^ \d{1,2}\/{1}\d{1,2}\/\d{2,4} $/.test(sDate);
}
tu peux apprendre les regexs ici
Aussi en js ça existe les booleen alors au lieu de mettre ok = "non" , marque ok = false !
++