11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

J'ai crée un formulaire classique (nom, prenom, adresse, num tel, gsm, etc...)

J'ai segmenté les numéros de téléphone en 5 cellules de 2 caractères.

Je voudrais que lorsque l'utilisateur à tapé le nombre de caractères autorisé dans le champ du formulaire, le focus passe directement à la cellule suivante sans qu'il est besoin de cliquer sur la cellule suivante ou d'appuyer sur tabulation.

Je débute en javascript mais je n'ai pas trouvé de script me permettant d'obtenir ce résultat.

Merci par avance pour l'aide ou les pistes que vous pouvez me soumettre.
Modifié par littlelittle (14 Jan 2006 - 20:49)
Bonjour

Voila un autre exemple :

<html>
<head>
<title></title>
<script language="javascript">
function verif(obj,f){
	var num = obj.name.substr(3,1);
	num = Number(num);
	num++;
	if(obj.value.length==2){
		eval('f.tel'+num).focus();
	}
}
</script>
</head>
<body>
<form>
<input type="text" maxlength="2" name="tel1" value="" onkeyup="verif(this,this.form);"/>
<input type="text" maxlength="2" name="tel2" value="" onkeyup="verif(this,this.form);"/>
<input type="text" maxlength="2" name="tel3" value="" onkeyup="verif(this,this.form);"/>
<input type="text" maxlength="2" name="tel4" value="" onkeyup="verif(this,this.form);"/>
<input type="text" maxlength="2" name="tel5" value=""/>
</form>
</body>
</html>
Merci à tous les deux pour vos réponses.

J'ai testé les deux scripts et j'ai choisi celui de Quentin qui permet de revenir en arrière automatiquement si l'on efface le dernier caractère de la cellule.

Cela va me rendre de grand service pour l'ergonomie des sites que je développe.

Merci encore.