IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Focus automatique d'un champ texte lors de sa création


Sujet :

JavaScript

  1. #1
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut Focus automatique d'un champ texte lors de sa création
    Bonjour je suis confronté a un probléme (ah bon ?)

    Je voudrais que lors de la création et l'affichage d'un formulaire, un champ texte ait le focus par défaut (pour permettre a l'utilisateur de pouvoir entrer des valeurs directement sans avoir à cliquer sur le champ texte).

    J'ai essayé des trucs du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script language="JavaScript" type="text/javascript">		
    			    document.getElementById('Ajoutt').numDevis.focus();
    </script>
    Mais ca marche pô

    Une idée ...

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ben ça doit marcher ... c'est que tu t'y prends mal ...

    on peut voir la partie du code de creation ?

  3. #3
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut
    OK OK

    Voila une partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <table width="100%">
    <tr>
       <td colspan="6" width="100%">
    	<form method="post" name="Ajoutt" id="Ajoutt" onSubmit="javascript:ajout('Ajoutt');">
    	<table width="100%" border="1" cellpadding="0" cellspacing="0" class="intab">
    		<tr>
    			<td>&nbsp;</td><td colspan="2" class="fr" align="center">FRANCE</td>
    			<td colspan="2" class="int" align="center">INTERNATIONAL</td>
    		</tr>
    		<tr>
    			<td class="titretab" align="center">ACCOUNT MANAGER</td>
    			<td class="fr" align="center"><%=server.HTMLEncode("QUOTATION#")%></td>
    			<td class="fr" align="center"><%=server.HTMLEncode("REQUOTE#")%></td>
    			<td class="int" align="center"><%=server.HTMLEncode("QUOTATION#")%></td>
    			<td class="int" align="center"><%=server.HTMLEncode("REQUOTE#")%></td>
    		</tr>
    		<tr>
    			<% 
    			if session("cki")="Others" then %>				
    			<td align="center"><input type="text" name="nom" id="nom" value="<%=ucase("Please enter your name")%>" onclick="this.value='';"></td>
    			<% else %>
    			<td align="center"><input type="text" name="nom" id="nom" disabled value="<%=ucase(session("cki"))%>"></td>
    			<% end if%>
    			<td align="center"><input type="text" value=" " id="numDevis" />
    			<script language="JavaScript" type="text/javascript"> 
                    document.getElementById('numDevis').focus(); 
    	               </script>
    			</td>
    			<td align="center"><input type="text" name="numQuote" id="numQuote"></td>
    			<td align="center"><input type="text" name="numDevisInt" id="numDevisInt"></td>
    			<td align="center"><input type="text" name="numQuoteInt" id="numQuoteInt"></td>
    		</tr>
    		<tr>
    			<td colspan="5" align="center"><input type="Submit" style="font-weight:bold;" value="ADD"></td>
    		</tr>
    	</table>
    	</form>
    	</td>
    </tr>
    </table>
    Voila le formulaire sachant que celui-ci est créé dans une div, je vais essayer voir mettre le focus sur la div avant de la mettre sur le champ.

    P.S : En regardant sur le forum j'ai changé est mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script language="JavaScript" type="text/javascript">
    document.getElementById('numDevis').focus(); 
    </script>

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    et tu le lances quand ce code ?

  5. #5
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut
    En fait,

    je clique sur un bouton radio qui met à jour une div via une httprequest. J'ai essayé de mettre le focus sur la div mais c'est toujours le bouton radio qui l'a.

    J'ai essayé dans le body onload aussi mais rien.

    Du coup je ne sais pas comment faire (je me creuse la tête mais rien)

    Edit : La div mise a jour contient le formulaire est le champ qui doit avoir le focus automatiquement

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    à la fin de la mise à jour du div ...

  7. #7
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut
    Le plus bizarre c'est que quand je met ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script language="JavaScript" type="text/javascript"> 
    							document.getElghjfgjhementById('numDevis').focus(); 
    						</script>
    Je n'ai aucun message d'erreur (FF ou IE)
    bizarre non?

    P.S : En essayant de faire la modif en fin de mise à jour de la div cela ne fait rien => Toujours pareil

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    mais tu le mets ou ce bout de code ???
    il faut mettr l 'instruction dans le code juste après la mise à jour du div ...

  9. #9
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut
    Re,

    Donc si je pige bien, lors de mon clique j'appelle une fonction qui me met à jour ma div et à la fin de cette fonction je rajoute la mise du focus

    Ce qui me donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    ...
    	}
    	xmlhttp.open('POST',url,true);
    	xmlhttp.onreadystatechange=function() {
        	if (xmlhttp.readyState==4) {
            	if(document.getElementById){
              	document.getElementById(id).innerHTML = xmlhttp.responseText;
            	}
        	}
    	}
    	xmlhttp.setRequestHeader('Content_type','application/x-www-form-urlencoded');
    	var data = 'texte='+escape(texte);
    	xmlhttp.send(data);
    	document.getElementById('numDevis').focus(); 
    }

    Ou sinon je l'ai mis aussi tout en fin du fichier contenant le formulaire mais je n'ai rien

    Dans les deux solutions ...
    Sinon si ce n'est pas là que je doit le mettre => Eclaire moi plz

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    plus logiquement je dirais ici...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(document.getElementById){
              	document.getElementById(id).innerHTML = xmlhttp.responseText;
                    document.getElementById('numDevis').focus(); 
            	}
    masi si tu crées ton input avec un innerHTML ...

  11. #11
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut


    T'es un dieu !!!

    Ca marche nickel

    MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. remplissage automatique d'un champ texte
    Par zerros dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/05/2010, 14h06
  2. [AC-2002] Saisie automatique dans un champ texte
    Par Jean-Luc80 dans le forum IHM
    Réponses: 2
    Dernier message: 19/07/2009, 06h39
  3. Réponses: 1
    Dernier message: 28/01/2009, 01h21
  4. Réponses: 4
    Dernier message: 30/08/2006, 20h33
  5. Réponses: 2
    Dernier message: 13/06/2006, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo