[Javascript] Appeler plusieurs fonctions...
Kopros
Messages postés
595
Date d'inscription
Statut
Membre
Dernière intervention
-
Kopros Messages postés 595 Date d'inscription Statut Membre Dernière intervention -
Kopros Messages postés 595 Date d'inscription Statut Membre Dernière intervention -
Salut à tous
Si je viens vous consulter c'est parce que j'ai beau regarder mon code dans tous les sens, je n'arrive pas à voir ce qui cloche. Alors c'est une fonction en javascript qui fait pas ce que je voudrais. En fait, c'est comme si la fonction n'était pas appelée...
Voici le code en question :
Entre <head> et </head>
Le <body> :
Entre <body> et </body> :
Normalement, "Mon texte qui change de couleur" est en noir quand je viens de charger la page. Pourtant, il reste en gris (il est grisé par la fonction "grisett").
Et là ça fait des plombes que je scrute le code à la recherche d'erreurs, que je fais différents tests, mais à chaque fois c'est comme si la fonction "checkq" n'existait pas...
Pouvez-vous m'aider ?
Si je viens vous consulter c'est parce que j'ai beau regarder mon code dans tous les sens, je n'arrive pas à voir ce qui cloche. Alors c'est une fonction en javascript qui fait pas ce que je voudrais. En fait, c'est comme si la fonction n'était pas appelée...
Voici le code en question :
Entre <head> et </head>
<script type="text/javascript"> //(diverses fonctions qui marchent à merveille) function grisett(id1,id10) { //fonction appelée dans le onload, qui marche bien et qui sert à griser du texte et des input } function checkq(quest){ //c'est la fonction qui marche pas. J'ai laissé juste une ligne pour tester (le reste est commenté) . Cette ligne fonctionne très bien dans d'autres fonctions. Elle met en noir le texte grisé avant. document.getElementById('q'+quest).style.color = 'black'; } </script>
Le <body> :
<body onload="grisett(1,25);checkq(4);">
Entre <body> et </body> :
<div id="q4">Mon texte qui change de couleur</div>
Normalement, "Mon texte qui change de couleur" est en noir quand je viens de charger la page. Pourtant, il reste en gris (il est grisé par la fonction "grisett").
Et là ça fait des plombes que je scrute le code à la recherche d'erreurs, que je fais différents tests, mais à chaque fois c'est comme si la fonction "checkq" n'existait pas...
Pouvez-vous m'aider ?
A voir également:
- [Javascript] Appeler plusieurs fonctions...
- Appeler en privé - Guide
- Telecharger javascript - Télécharger - Langages
- Appeler en france du canada ✓ - Forum Mobile
- Je peux appeler mais pas recevoir d'appel sur mon portable ✓ - Forum telephonie fixe
- Appel téléphonique du Québec vers la France? - Forum Mobile
2 réponses
Bon je viens de faire un test, quand j'appelle ma fonction avec un événement (onfocus sur un input de type texte) alors là ça marche.
J'ai même décommenté toute la fonction en question, et y'a tout qui marche bien.
Le seul truc, c'est que je ne parviens pas à l'appeler au chargement de la page.
Existe-t-il un autre moyen que le onload du body pour appeler une fonction une fois la page chargée ?
Edit : en fait ça marche si j'appelle la fonction une seule fois, genre "checkq(1,1);" mais si je veux l'appeler plusieurs fois là y'a plus rien qui fonctionne... "checkq(1,1);checkq(2,1);" ça marche pas EDIT : dans ce cas là, "checkq(1,1);" est appelé comme il faut, mais "checkq(2,1);" n'est pas appelé.
Beurdel j'y comprends plus rien...
J'ai même décommenté toute la fonction en question, et y'a tout qui marche bien.
Le seul truc, c'est que je ne parviens pas à l'appeler au chargement de la page.
Existe-t-il un autre moyen que le onload du body pour appeler une fonction une fois la page chargée ?
Edit : en fait ça marche si j'appelle la fonction une seule fois, genre "checkq(1,1);" mais si je veux l'appeler plusieurs fois là y'a plus rien qui fonctionne... "checkq(1,1);checkq(2,1);" ça marche pas EDIT : dans ce cas là, "checkq(1,1);" est appelé comme il faut, mais "checkq(2,1);" n'est pas appelé.
Beurdel j'y comprends plus rien...
Je up et en même temps je reformule ma question...
Dans la même page j'ai ces deux fonctions :
Pourquoi ma fonction "degrise()" je peux l'appeler autant de fois que je veux ça va toujours fonctionner, alors que ma fonction "checkq()" si je l'appelle plus d'une fois y'a que le 1er appel qui est pris en compte ????
Je me suis pris la tête sur ce pb toute la matinée, je serai très reconnaissant si quelqu'un peut me dépêtrer de ça.
Dans la même page j'ai ces deux fonctions :
var namerep = '0'; var i=0; function degrise(id,q) { document.getElementById(id).disabled=false; document.getElementById('id'+id).style.color = 'black'; document.getElementById('q'+q).style.color = 'black'; } function checkq(quest,rep){ document.getElementById(rep).disabled=false; //on permet aux radios de la question d'être cochés document.getElementById(rep).checked=true; //on coche la réponse déjà donnée document.getElementById('q'+quest).style.color = 'black'; //on dégrise le texte de la question for (i=1;i<=25;i++){ namerep = document.getElementById(i).getAttribute('name'); //récupération du name de chaque radio pr toutes les qcm if (namerep==quest){ document.getElementById(i).disabled=false; //on dégrise les radios de la question document.getElementById('id'+i).style.color = 'black'; //dégrisage du texte des réponses } } }
Pourquoi ma fonction "degrise()" je peux l'appeler autant de fois que je veux ça va toujours fonctionner, alors que ma fonction "checkq()" si je l'appelle plus d'une fois y'a que le 1er appel qui est pris en compte ????
Je me suis pris la tête sur ce pb toute la matinée, je serai très reconnaissant si quelqu'un peut me dépêtrer de ça.