Posez votre question Signaler

[html,php,javascript ->form] donner le focus

blbg 302Messages postés 9 avril 2003Date d'inscription - Dernière réponse le 27 déc. 2010 à 14:50
bonjour ....

savez vous comment fait on pour donner par defaut le focus à un champ de saisie dans un formulaire ??

que ça soit en html, php , javascript ??

merci
Lire la suite 

[html,php,javascript ->form] donner le focus »

16 réponses
Réponse
+29
moins plus
Ca fait longtemps que ce topic est mort. Je me permets quand même de le ressusciter temporairement pour le mettre à jour. Le code donné marche parfaitement, mais n'est pas valide pour les standards xhtml strictes. En effet, il n'est plus possible de mettre un attribut "name" dans une balise "form".

Voici un code similaire à celui donné plus haut, mais conforme aux standards xhtml :

<html>
<head>
<script language="JavaScript">
<!--
function donner_focus(chp)
{
document.getElementById(chp).focus();
}

// -->
</script>
</head>
<body onload="donner_focus('champ2')">
<form>
Champ 1 <input type="text" value="" id="champ1" tabindex=3><br>
Champ 2 <input type="text" value="" id="champ2" tabindex=2><br>
Champ 3 <input type="text" value="" id="champ3" tabindex=1>
</form>
</body>
</html>


En espérant que ça aidera certains qui comme moi arrivent ici en passant par Google !

Bye
EddyL - 5 avril 2008 à 10:46
Merki ! ;-)
Mr Bibindom - 20 avril 2010 à 11:07
D'accord avec David ^^

mdr
adam - 21 nov. 2010 à 20:35
merci ca ma etai d une grande aide
Ajouter un commentaire
Réponse
+4
moins plus
Bjr blbg,

En PHP cela n'a vraiment de sens ... à la limite tu peux générer dynamiquement du code JavaScript qui sera exécuté à l'ouverture de ta page mais bon...

En JavaScript il suffit d'appliquer la méthode focus() au champ


Voici un ex en JavaScript :


<html>
<head>
<script language="JavaScript">
<!--

// -> frm : nom du formulaire
// -> chp : nom du champ
function donner_focus(frm,chp)
{
document.forms[frm].elements[chp].focus();
}


// -->
</script>
</head>
<body onload="donner_focus('frm1','champ2')">
<form name="frm1" id="frm1">
Champ 1 <input type="text" value="" name="champ1" tabindex=3><br>
Champ 2 <input type="text" value="" name="champ2" tabindex=2><br>
Champ 3 <input type="text" value="" name="champ3" tabindex=1>
</form>
</body>
</html>

Je donne le focus au champ2 une fois de chargement de la page terminé grâce à l'événement onload().

Tu noteras que pour préciser l'ordre de saisie des champs, tu peux utiliser l'attribut tabindex : j'ai volontairement renversé l'ordre de saisie des champs ;-)

Ca peut toujours servir dans le cas de formulaires complexes.

@+
PhP

[[  The Truth is Out There   ]]
rainman - 19 nov. 2009 à 16:25
j'ai testé en asp et cela ne fonctionne pas :(

j'ai mis cette fonction dans le onblur et je fait un test sur le champs si la valeur n'est pas bonne
je remet le curseur sur le meme champs (le focus ne quitte pas le champs)


http://www.tunisie-location.com
http://www.nosannonces.com
jack-addy - 10 janv. 2010 à 18:19
salut,je desire faire une campagne de mailing avec le logiciel EMA,mais je dois enregistrer mon image dans mon serveur,afin de pouvoir la coller dans mon texte , et là je sais pas faire ! merci d'avance
Ajouter un commentaire
Réponse
+3
moins plus
Encore plus simple tu met l'attribut "autofocus" dans ton input.

EX: <input type="text" name="ex" autofocus />
Ajouter un commentaire
Réponse
+1
moins plus
Même soucis, merci Marsien ; )
Ajouter un commentaire
Réponse
+0
moins plus
Bsr,

C'est gentil mais il m'arrive d'écrire aussi du code bien "merdique" à souhait.

Disons que je fais au moins l'effort de tester le code ne serait que sur IE6 avant de faire le copier/coller


De là à dire que ca marche avec TOUS les navigateurs ... Restons modeste qd même ;-)

PhP    [Push the button,Don't push the
.         button,Trip the station,Change the channel]
Ajouter un commentaire
Réponse
-1
moins plus
bonsoir, ....
PhP, j'ai tester ce que tu m'a dit ..... et comme d'abitude ça marche trés bien !!

merci !!!
Ajouter un commentaire
Réponse
-1
moins plus
Hello,

Je viens de trouver cette solution pour donner le foocus à un champ de formulaire. Disons que ça marche si le formulaire est chargé à chaque fois que la page est appelée.

J'ai une page questbook (php) qui n'ouvre pas le formulaire tout de suite mais seulement si on clique sur le bouton d'inscription. Le problème est que la partie HEAD et BODY sont communes. Si je fais comme expliqué plus haut, j'obtiens le focus juste si je veux m'inscrire mais j'ai une erreur lors de du chargement de la page Guestbook puisque le formulaire n'existe pas encore.

Peut-on obtenir le focus sans utiliser onLoad? Merci
blbg- 25 mai 2004 à 15:42
désolé pour le retard de réponce, ..

oui tu peu trés bien le faie, ...
il suffit d'appeler la fonction dans le code de ton formulaire (juste aprés) ds une partie javascript ...

tu n'est même pas obliger de mettre le code ds une fonction

voilà .. . en espérant que tu ne bloq pas dessus depuis le tps .. :o)

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
un gd merci à tous ceux qui nous aides ... :o)
Ajouter un commentaire
Réponse
-2
moins plus
Slt, pr le faire utiliser le code suivant dans le javascript:


<script LANGUAGE= javascript
fonction control()
{
if(document.nomduformulaire.nomduchamp.value=='')

{
alert("Ce champ est vide");
document.nomduformulaire.nomduchamp.focus;
return 0;
}

}

>
Ajouter un commentaire
Réponse
-3
moins plus
merci marsien. très belle attention de ta part, car en effet, j'arrive de Google ^^
Ajouter un commentaire
Ce document intitulé « [html,php,javascript ->form] donner le focus » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?