Bonjour,
A partir d'un formulaire php qui s'opère sur une boucle :
[...]
$id=0;
for ($i=1;$i<9;$i++)
{
echo "<td><input type='text' maxlength='2' size='2' id='".$id."' name='c".$i."_".$res['eleve_id']."' style='font-size:9px' onBlur=\"return controle($id);\" ></td>";
$id++;
}
[...]
je tente une fonction javascript qui vérifie que la valeur entrée dans le champ correspond à certaines valeurs obligatoires. Dans le cas contraire, je souhaite que la mauvaise valeur entrée soit effacée et que le champ soit sélectionné :
<head>[...]
<script language="javascript1.2">
function controle(temp) {
var obj=document.getElementById(temp);
if (obj.value != "4" && obj.value != "8" && obj.value != "12" && obj.value != "16" && obj.value != "")
{
alert ("La valeur entrée n'est pas acceptable.");
document.getElementById(temp).select();
obj.value="";
document.getElementById(temp).focus();
return false;
}
}
</script></head>
Or voilà, cela ne marche pas. La valeur incorrecte est effacée mais après le message d'alerte, le script passe à la case suivante. Si bien que par exemple, si un utilisateur entre une mauvaise valeur sans passer au champ suivant et appuie sur le bouton Enregistrer qui finit le formulaire, la mauvaise valeur passe ! Comme vous le voyez j'essaie à la fois le focus et le select. Je me doute que le focus n'a pas de sens, puisque le champ est alors vide, mais le select seul ne fonctionne pas non plus
Qu'est-ce qui ne va pas dans mon javascript ?
Merci de vos réponses
Partager