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

blbg Messages postés 302 Statut Membre -  
 Nico -
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

9 réponses

  1. marsien
     
    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
    47
    1. CHAP26
       
      Idem...

      Merci... comme quoi il n'est pas inutile de relancer des topics vieux de 5 ans !!!

      Cordialement

      David
      http://www.chapdaniel.fr/
      0
    2. EddyL
       
      Merki ! ;-)
      0
    3. Mr Bibindom
       
      D'accord avec David ^^

      mdr
      0
    4. adam
       
      merci ca ma etai d une grande aide
      0
    5. Nico
       
      on peut éviter le javascript avec l'attribut html autofocus dans le input
      valable à partir d'IE10
      0
  2. ipodtouchpro44 Messages postés 12 Statut Membre 16
     
    Encore plus simple tu met l'attribut "autofocus" dans ton input.

    EX: <input type="text" name="ex" autofocus />
    10
  3. PhP Messages postés 1774 Statut Membre 606
     
    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   ]]
    5
    1. jack-addy
       
      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
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. PhP Messages postés 1774 Statut Membre 606
     
    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]
    1
  6. blbg Messages postés 302 Statut Membre 10
     
    bonsoir, ....
    PhP, j'ai tester ce que tu m'a dit ..... et comme d'abitude ça marche trés bien !!

    merci !!!
    0
  7. |znogood
     
    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
    0
    1. blbg Messages postés 302 Statut Membre 10
       
      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)
      0
  8. etoo
     
    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;
    }

    }

    >
    0
  9. Lokifaer
     
    merci marsien. très belle attention de ta part, car en effet, j'arrive de Google ^^
    -2