Fonction javascript

Résolu
may0112 Messages postés 38 Statut Membre -  
Droopy_ Messages postés 252 Statut Membre -
Bonjour,
je veux contrôler un champ date ( jour ) dans un formulaire web j'ai essayer avec cette fonction mais il y a un pb:

function f4()
{
if(is_numeric("'"+document.form.jj.value+"'")==false)
{
alert(' Erreur ');
if ((document.form.jj.value) < 1 || (document.form.jj.value) > 31 )
{
alert(' Erreur ');
}

}
}

merci
A voir également:

3 réponses

Droopy_ Messages postés 252 Statut Membre 25
 
Bonjour,

Déjà, is_numeric("'"+document.form.jj.value+"'") risque d'être toujours faux,
Puisque tu rajoutes des apostrophes. Il est possible que javascript soit gentil et te le fasse quand même, mais bon...

Ensuite tu testes le jour pour vérifier qu'il est entre 1 et 31 uniquement quand il y a une erreur, car tu as mis ton test dans le bloc d'erreur.

essayes :
function f4()
{
if(is_numeric(document.form.jj.value)==false)
{
alert(' Erreur ');
}

if ((document.form.jj.value) < 1 || (document.form.jj.value) > 31 )
{
alert(' Erreur ');
}
}
0
Alain_42 Messages postés 5413 Statut Membre 894
 
ou en un seul test:


function f4()
{
var champ_jour = document.form.jj.value;
if(!is_numeric(champ_jour) || champ_jour< 1 || champ_jour > 31)
{
alert(' Erreur ');
}


}
0
Droopy_ Messages postés 252 Statut Membre 25
 
Sauf si tu veux faire apparaitre deux messages d'erreurs différents,
mais d'accord, c'est pas le sujet ;-)
0
may0112 Messages postés 38 Statut Membre 1
 
salut;

j'ai testé les fonctions proposés mais il m'affiche le meme erreur:"Objet attendu" à la ligne
if(is_numeric(document.form.jj.value)==false)


merci
0
may0112 Messages postés 38 Statut Membre 1
 
svp si vous avez une idée essayer de m'aider. j'ai passé tt la journé avec cette erreur.
0
Droopy_ Messages postés 252 Statut Membre 25 > may0112 Messages postés 38 Statut Membre
 
Est-ce que dans la déclaration ton formulaire s'appelle bien form ?

<form name='form'>
0
may0112 Messages postés 38 Statut Membre 1 > Droopy_ Messages postés 252 Statut Membre
 
oui
0
may0112 Messages postés 38 Statut Membre 1 > Droopy_ Messages postés 252 Statut Membre
 
<form action="ES.php"method="post" name="form" >
<input name="jj" type="text" value="" size="3" maxlength="2" onblur="f4()" />
</form>
0
Droopy_ Messages postés 252 Statut Membre 25 > may0112 Messages postés 38 Statut Membre
 
J'ai écrit un fichier HMTL avec tout ce que tu as donné et le code de f4 que je t'ai mis, et ça marche...
À noter: c'est dans Firefox 3.
<html>
<head></head>
<body>
<script>
function is_numeric( mixed_var ) {
    return !isNaN( mixed_var );
}
function f4()
{
	if(!is_numeric(document.form.jj.value))
	{
		alert(' Erreur non numérique ');
	}

	if ((document.form.jj.value) < 1 || (document.form.jj.value) > 31 )
	{
		alert(' Erreur de borne ');
	}
}
</script>
<form action="ES.php"method="post" name="form" >
<input name="jj" type="text" value="" size="3" maxlength="2" onblur="f4()" />
</form>
</body>
</html>
0