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 :

Chargement d'une page (jQuery : .load) puis suite de commande avec une div


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Chargement d'une page (jQuery : .load) puis suite de commande avec une div
    Bonjour,

    Je rencontre un problème lors de la création de mon jeu memory... Alors en fait, je viens charger une page contenant différentes divs c'est un peu un formulaire.
    Donc je l'appelle par la fonction load de jQuery et juste après je tente de modifier la valeur d'un input et il me dit : Introuvable (en gros).
    Le code est le suivant (à noter qu'il fonctionne très bien si je ne tente pas de modifier les valeurs) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function corrigeJoueur() {
    	for (i=1; i <= parseInt(localStorage.getItem('Joueur')); i++) {
    		$('[name="emplacementCadreNomJoueur"]').append($('<div name="cadreNomJoueur'+i+'" id="cadreNomJoueur">').load('html/parametreJoueurNom/'+i+'.html'));
    		if (localStorage.getItem('Joueur'+i+'Nom') != null) {
    			document.getElementsByName('cadreNomJoueur'+i)[0].style.backgroundColor = 'GreenYellow';
    			document.getElementsByName('formJoueurNom'+i)[0].value = localStorage.getItem('Joueur'+i+'Nom');
    			document.getElementsByName('formJoueurColor'+i)[0].value = localStorage.setItem('Joueur'+i+'Color');
    		}
    	}
    }
    Le fichier HTML qui est inclut est le suivant (à noter que tout les chiffres (ici 1) change en fonction du nom de la page (ici 1.html)) :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <span name="formJoueurTitre1" style="center titre">Joueur 1</span><br />
    <span style="float: left; text-align: left; margin-top: 10px; margin-left: 5px;">Le nom du joueur :</span>
    <input type="text" name="formJoueurNom1" value="Joueur1" style="width: 226px;">
    <span style="float: left; text-align: left; margin-top: 5px; margin-left: 5px;">La couleur du cadre :</span>
    <select name="formJoueurColor1" style="width: 230px;">
    	<option>Aléatoire</option>
    	<option class="j1">DarkGreen / DarkKhaki</option>
    	<!--Inutile c'est pas intéressant, c'est pleins de couleurs-->
    	<option class="j20">Maroon / RosyBrown</option>
    </select>
    <a href="javascript:valideJoueur(1)" class="center titre" style="">Validez</a>

    Alors j'ai essayé de pleins de façon mais jamais ça ne marche, je ne me souviens plus vraiment de ce que j'ai pu essayer mais il y en a pas mal

    Si vous voulez jeter un oeil en ligne voici mon site contenant le jeu : http://memory-test.game-signature.com/ (enfin la version test du jeu, je revois le code du jeu et son interface)
    Si vous voulez tester, allez dans 'Joueur' en haut et sectionnez 3 joueurs, validez le cadre du joueur 2, puis cliquez sur 1 joueur puis sur 3. Là le cadre du joueur 1 vas se charger (gris), le cadre du joueur 2 ne prend pas en compte les valeurs mais se met en vert et le cadre du joueur 3 ne se charge pas car le jeu plante.

    Merci de vos futures réponses

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    la fonction load donne l'ordre au navigateur de charger une page
    elle ne charge pas la page donc immédiatement après que cet ordre soit donnée
    la page n'est pas encore chargé.

    A+JYT
    PS: merci de poster les message JQuery dans le forum JQuery

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Salut,

    Mais le problème n'est pas vraiment jQuery c'est en Javascript Natif que je voudrais le faire, j'utilise jQuery que pour la fonction load()



    Merci mais comment faire pour justement pour attendre que la page soit chargé. J'avais déjà remarqué ça, elle met 3ms à charger environ. J'avais essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function corrigeJoueur() {
    	for (i=1; i <= parseInt(localStorage.getItem('Joueur')); i++) {
    		$('[name="emplacementCadreNomJoueur"]').append($('<div name="cadreNomJoueur'+i+'" id="cadreNomJoueur">').load('html/parametreJoueurNom/'+i+'.html'));
    		window.setTimeout(function() {
    			if (localStorage.getItem('Joueur'+i+'Nom') != null) {
    				document.getElementsByName('cadreNomJoueur'+i)[0].style.backgroundColor = 'GreenYellow';
    				document.getElementsByName('formJoueurNom'+i)[0].value = localStorage.getItem('Joueur'+i+'Nom');
    				document.getElementsByName('formJoueurColor'+i)[0].value = localStorage.setItem('Joueur'+i+'Color');
    			}
    		}, 10);
    	}
    }
    Mais avec ce code il ne me fait rien de la fonction dans le setTimeout...

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Désolé, je me permets un petit up en espérant que quelqu'un puisse m'aider ^^

  5. #5
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    ça deviens exaspérant

    si on te réponds en te donnant une orientation
    ne dis pas NON ça vient pas de ça

    la réponse est "ça vient de JQuery que tu utilise MAL"

    la fonction load donne l'ordre au navigateur de charger une page
    elle ne charge pas la page donc immédiatement après que cet ordre soit donnée
    la page n'est pas encore chargé.
    s'il faut attendre que le DOM soit chargé il serait peut être judicieux avant de dire NON de regarder la DOC de la fonction load
    et voir que c'est bien une mauvais utilisation de JQuery et non un problème Javascript
    https://api.jquery.com/load/
    étrange mais les concepteur de JQuery on prévu trois arguments à la fonction load et étrange encore le troisième est destiné à traiter la réponse du load


    A+JYT

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci mais faut dire que ton précédent message ne donne pas vraiment de réponse, moi je cherchais juste un moyen de faire une pause en javascript natif je ne pensais pas que l'on pouvait inclure une fonction dans la fonction load alors désolé mais je pense qu'il serait bon de répondre un peu mieux aux personnes parce que là l'accueil et plutôt pourave... Sinon merci tout de même de ta réponse.

    Maintenant s'il te plait, puisque ça sert à rien de rouvrir un sujet, peux-tu me donner une derniere réponse à ma question qui suit :
    La fonction que l'on incorpore dans le load doit-elle être codé en jQuery ou du JS Natif est compatible ?

    Merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/05/2010, 15h26
  2. executer un code js suite à la fermeture d'une page
    Par riadhhwajdii dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/09/2009, 12h14
  3. Un enregistrement sur une page et détail à la suite
    Par Patrick25300 dans le forum Rave
    Réponses: 2
    Dernier message: 21/01/2009, 22h58
  4. Une barre de navigation qui suit les déplacements dans une longue page
    Par septembr1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/02/2008, 10h56
  5. Comment puis je faire pour que'une page soir rechargees....
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/12/2005, 10h46

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