Mettre le curseur sur un champ voulu

Eléphant du PHP | 142 Messages

17 mai 2011, 12:17

Bonjour,

Quand l'utilisateur valide son formulaire et qu'un champ est vide, il reçoit un message d'erreur et est renvoyé sur la page du formulaire. J'aimerais qu'à son retour, le curseur soit positionné sur le champ qu'il n'a pas rempli ; est-ce possible ?!


Voici le code que j'ai mis pour chaque champ :
if (empty($MonChamp))
{
  echo "<script>alert(\"MonChamp est vide\")</script>"; 
  echo '<META HTTP-EQUIV="Refresh" CONTENT="0;URL= http://www.monsite.com/mapage.php">';
}

Mammouth du PHP | 672 Messages

17 mai 2011, 13:09

Bonjour,

Quand l'utilisateur valide son formulaire et qu'un champ est vide, il reçoit un message d'erreur et est renvoyé sur la page du formulaire. J'aimerais qu'à son retour, le curseur soit positionné sur le champ qu'il n'a pas rempli ; est-ce possible ?!
Bonjour.

Oui, c'est possible.
(presque) Tout est possible en informatique.
Mais ça n'est pas forcément simple...

Dans ton cas, il faut :
1. Récupérer l' id du champ vide.
2. renvoyer sur le formulaire en passant/stockant l' id.
3. à l'ouverture du formulaire, tester si on a un id de champ vide, et positionner le curseur dessus.

Sans avoir plus de code, c'est difficile de préciser comment le faire exactement, mais pour la partie 3 c'est du javascript :
<body onload="document.getElementById('monchamp').focus()">
<!-- du code -->
<input id="nom" type="text" />

Eléphant du PHP | 142 Messages

17 mai 2011, 14:08

:s hum je crois que je vais oublier ce détail, c'était juste au cas où il fallait rajouter une petite ligne. Je n'ai pas énormément de temps pour m'attarder là-dessus...
Merci pour ta réponse, à très bientôt pour un nouveau problème que je vais rencontrer !