Fonction javascript
Résolu
Nouvelle_Informaticienne
Messages postés
173
Statut
Membre
-
nouvelle_informaticienne -
nouvelle_informaticienne -
Bonjour
s'il vous plait je me permets de vous demander de l aide , j'ai ce script qui contient des fonctions javascript et qui font exactement la même chose c'est en faite la même fonction avec des arguments différents je veux bien rendre ce code une seule fonction avec des arguments et que je l’appelle a chaque fois pour mes différentes listes ! pouvez vous m'aider j'ai essaye mais je fais des erreurs car je ne suis pas habitue avec js et avec ses éléments getElementById .... je ne sais pas bien les utiliser
je vous remercie
NB je suis debutante en ce domaine merci a vous
s'il vous plait je me permets de vous demander de l aide , j'ai ce script qui contient des fonctions javascript et qui font exactement la même chose c'est en faite la même fonction avec des arguments différents je veux bien rendre ce code une seule fonction avec des arguments et que je l’appelle a chaque fois pour mes différentes listes ! pouvez vous m'aider j'ai essaye mais je fais des erreurs car je ne suis pas habitue avec js et avec ses éléments getElementById .... je ne sais pas bien les utiliser
je vous remercie
function affiche3() { var selectBox = document.getElementById("partenaire"),i, span = document.getElementById('affiche3'); span.innerHTML='' for (i=0; i < selectBox.length; i++) { if (selectBox[i].selected) { span.innerHTML += selectBox[i].innerHTML+'<br>'; } } } function recupere() { var selectBox = document.getElementById("partenaire"),i,span; for (i=0; i < selectBox.length; i++) { if (selectBox[i].selected) { span.innerHTML += selectBox[i].value+'<br>'; } } return span } //encore function affiche() { var selectBox = document.getElementById("responsables"),i, span = document.getElementById('affiche'); span.innerHTML='' for (i=0; i < selectBox.length; i++) { if (selectBox[i].selected) { span.innerHTML += selectBox[i].innerHTML+'<br>'; } } } //encore function affiche4() { var selectBox = document.getElementById("traitans"),i, span = document.getElementById('affiche4'); span.innerHTML='' for (i=0; i < selectBox.length; i++) { if (selectBox[i].selected) { span.innerHTML += selectBox[i].innerHTML+'<br>'; } } } //encore function affiche2() { var selectBox = document.getElementById("intervcic"),i, span = document.getElementById('affiche2'); span.innerHTML='' for (i=0; i < selectBox.length; i++) { if (selectBox[i].selected) { span.innerHTML += selectBox[i].innerHTML+'<br>'; } } }
NB je suis debutante en ce domaine merci a vous
A voir également:
- Fonction javascript
- Fonction si et - Guide
- Fonction miroir - Guide
- Telecharger javascript - Télécharger - Langages
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
2 réponses
Bonjour,
Il suffit de passer en paramètres les ID des éléments :
Il suffit de passer en paramètres les ID des éléments :
function affiche(idSelectBox,idSpan) { var selectBox = document.getElementById(idSelectBox); var span = document.getElementById(idSpan); span.innerHTML=''; for (var i=0; i < selectBox.length; i++) { if (selectBox[i].selected){ span.innerHTML += selectBox[i].innerHTML+'<br>'; } } return span; }
Nouvelle_Informaticienne
Messages postés
173
Statut
Membre
3
merciiii bien Jordan pour votre , bonne journee
Salut,
Les deux changements entre tes fonctions sont les éléments appelés via getElementById. On peut donc factoriser ces fonctions en passant les deux éléments appelés en paramètres :
Bonne journée,
Les deux changements entre tes fonctions sont les éléments appelés via getElementById. On peut donc factoriser ces fonctions en passant les deux éléments appelés en paramètres :
// exemple de factorisation des fonctions afficheN function affiche(element1, element2) { var selectBox = document.getElementById(element1), i, span = document.getElementById(element2); span.innerHTML = ''; for (i = 0; i < selectBox.length; i++) { if (selectBox[i].selected) { span.innerHTML += selectBox[i].innerHTML + '<br>'; } } } // qui s'utilise donc comme ceci affiche('responsables', 'affiche'); affiche('intervcic', 'affiche2'); affiche('partenaire', 'affiche3');
Bonne journée,
je reviens vers vous car mon code ne marche pas voila j'ai fais peut etre comme vous m'avez dit :
et puis pour l'appele de la fonction voila :
comme ca je vois tt est logique mais ca fonctionne pas !
je vous remercie encore une fois
function affichett(element1,element2) { var selectBox = document.getElementById("element1"),i, span = document.getElementById('element2'); span.innerHTML='' for (i=0; i < selectBox.length; i++) { if (selectBox[i].selected) { span.innerHTML += selectBox[i].innerHTML+'<br>'; } } }
et puis pour l'appele de la fonction voila :
<tr> <td> <p style="border:1px solid black;background:#FFF; height:100%; width:100%; align:center"> <STRONG border="solid" align="center" id="affiche3"></STRONG> </P> </td> <td><label for="partenaire" ><strong>Partenaires</strong></label></td> <td><select name="partenaire[]" id="partenaire" onchange="affichett('partenaire','affiche3');" style="width:450px;" multiple="multiple" size="4" >
comme ca je vois tt est logique mais ca fonctionne pas !
je vous remercie encore une fois
Attention à l'utilisation des paramètres :
A corriger par :
var selectBox = document.getElementById("element1"),i, span = document.getElementById('element2');-> on récupère ici les éléments dont l'identifiant est "element1" et "element2"
A corriger par :
var selectBox = document.getElementById(element1), i, span = document.getElementById(element2);-> on récupère les éléments dont l'identifiant est la valeur des variables element1 et element2
bonsoir , vous avez raison MonsieurJordane il y a l'erreur du point virgule ! mais pour le truc de console je fais comment svp ? pouvez vous me rappelez de l'astuce ? psk c’était pas sur ce poste ! svp monsieur comment faire pour tester ? je vous remercie par avance, pour mon problème c'est bon est resolu mais je voulais savoir l'astuce de tester merci