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 :

Fonctionnement du onLoad.


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Points : 89
    Points
    89
    Par défaut Fonctionnement du onLoad.
    Bonjour,

    Tous d'abord sachez que j'ai un niveau débutant en javascript (je l'utilise très peu)

    Pour une application spécifique, j'ai un formulaire contenant une liste déroulante.
    Je souhaite qu'a l'affichage du formulaire, javascript aille chercher les options de la liste déroulante dans un fichier texte externe.

    Bien sur, ca ne marche pas pouvez-vous m'aider ?

    Le fichier texte contenant les options de la liste déroulante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    choix=new Option("Tous (comparateur)","0");
     
    	form.sites.options[form.sites.options.length]=choix;choix=new Option("choix1","1");
     
    	form.sites.options[form.sites.options.length]=choix;choix=new Option("choix2","2");
     
    	form.sites.options[form.sites.options.length]=choix;choix=new Option("choix3","3");
     
    	form.sites.options[form.sites.options.length]=choix;

    Le formulaire (simplifié pour voir le pb):

    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
     
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
     
    	<title></title>
     
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    	<script type="text/javascript" src="include/fonctions.js"></script>
     
    </head>
     
     
     
    <body>
     
     
     
    	<form method="post" action="">
     
     
     
    		<label for="sites" class="ajuster_ie">Sites: </label>
     
    		<select name="sites" id="sites" onLoad="AfficherSites(this.form,this.form.sites)">
     
    		</select>
     
     
     
    	</form>	  
     
    </body>
     
    </html>

    Et enfin ma fonction AfficherSites:

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    /* Fonction qui affiche la liste des sites dans le formulaire */
     
    function AfficherSites(form,list) // Fonction qui écrit options dans le menu "sites"
     
    {
     
    	list.options.length=0;// remise à 0, sinon il "rajoutera" à chaque choix différent de nouvelles options.
     
     
     
    	var xhr_object = null;
     
     
     
    	if(window.XMLHttpRequest) // Firefox
     
    	   xhr_object = new XMLHttpRequest();
     
    	else if(window.ActiveXObject) // Internet Explorer
     
    	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     
    	else { // XMLHttpRequest non supporté par le navigateur
     
    	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
     
    	   return;
     
    	}
     
     
     
    	xhr_object.open("GET", "cache/menu-site/sites.txt", true);
     
     
     
    	xhr_object.onreadystatechange = function() {
     
       if(xhr_object.readyState == 4) eval(xhr_object.responseText);
     
    	}
     
     
     
    	xhr_object.send(null);
     
    }
     
     
     
    /* Fin de la fonction qui affiche la liste des sites dans le formulaire */

    Voila, si quelqu'un peu m'aider à comprendre le problème.
    Merci d'avance.

  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 640
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Tu ne nous dit pas quand est ce que tu lances la première partie du code qui créé les options.
    Ni si tu as eventuellement un message d'erreur ...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Tu ne nous dit pas quand est ce que tu lances la première partie du code qui créé les options.
    Ni si tu as eventuellement un message d'erreur ...
    Bonjour et merci de ta réponse.

    Le fichier texte qui contiens les options est mis à jour toute les nuits lors de la mise à jour de la base de données.
    Je n'ai aucun message d'erreur qui s'affiche.
    J'ai remplacé le onLoad par un onclick et ca fonctionne, donc je pense que c'est le onLoad qui est mal placé, mais du coup je ne vois pas où le mettre.

  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 640
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    onload ne s'applique pas au select
    remonte le dans la balise body ...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 155
    Points : 89
    Points
    89
    Par défaut
    Merci

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

Discussions similaires

  1. window.onload Ne fonctionne pas au rechargement de la page
    Par qiceti dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/04/2015, 09h46
  2. Fonctionnement de window.onload
    Par thomas55 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/10/2012, 12h33
  3. Evénement onload qui ne fonctionne pas
    Par nomasis dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/08/2009, 12h30
  4. [IE]window.onload ne fonctionne pas
    Par banzzai dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/05/2006, 11h24
  5. [Turbo Pascal] TP7 fonctionne en QWERTY
    Par callahan dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 08/02/2003, 21h49

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