Probleme evenement onclick pour excecuter une fonction [Résolu]

Signaler
Messages postés
33
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
10 mars 2009
-
Messages postés
2
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
19 janvier 2008
-
le probleme l'evenement onclick se declenche une seul fois et ne se repete pas , je voudrais actualiser une liste deroulente apres un clique sur elle meme : mon code est :

<select name="liste1" onClick='remplir_nom("pd_id");'>  ......

<script type='text/javascript'>
     
            function getXhr(){
                                var xhr = null;
                if(window.XMLHttpRequest) // Firefox et autres
                   xhr = new XMLHttpRequest();
                else if(window.ActiveXObject){ // Internet Explorer
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                   xhr = false;
                }
                                return xhr;
            }
           

           
function remplir_nom(combo){
                var xhr = getXhr();
                xhr.onreadystatechange = function(){
                         if(xhr.readyState 4 && xhr.status 200){
                        leselect = xhr.responseText;
                
                        document.getElementById(combo).innerHTML = leselect;
           
                    }
                }

                xhr.open("POST","listenom.php",true);

                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

            xhr.send("");
            }
        </script>

j'ai cree un boutton recharger et il fonctionne tres bien ,mais ca serais  la derniere  solution  a  mon probleme
   

merci pour votre reponse

11 réponses

Messages postés
2
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
19 janvier 2008

Desole: j'ai fait une petit erreur
premierment declarer une variable comme ca:
var counteur=0; au demmarage du votre script JAVA
deuxiement

Remplacer la line:
xhr.open("POST","listenom.php",true);

par :
xhr.open("POST","listenom.php&"+counteur++,true);
----
Messages postés
33
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
10 mars 2009
1
desole j'ai fais une erreur en ecrivant mon code <select name="liste1" onClick='remplir_nom(liste1);'>
alors  il ya une reponse  a  ma question ?
Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
onselect=remplir_nom("liste1");
Messages postés
33
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
10 mars 2009
1
ca ne donne aucun effet !!!!!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

    je n'ai pas compris grand chose....

<select name="liste1" onClick='remplir_nom("pd_id");'>  ......

    c'est quoi pd_id ? pas vu...

    et on va chercher un id=liste1... qui n'existe pas.
    il y a bien un name="liste1", pas id="liste1"

    et onclick sur un select ? vaut mieux éviter !

>>...il fonctionne tres bien ,mais ca serais  la derniere  solution  a  mon probleme
    pas compris.




<hr />



Cordialement        Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
il y a bien un id=liste1 et un name=liste1...






mal vu. mais ça n'enlève rien à mes questions,
    et IE, sait remplacer un id par le name
       et le contraire... vaut mieux éviter aussi.
mettre name="xxx" id="xxx" ce sera plus clair.
<hr />


Cordialement        Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
33
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
10 mars 2009
1
pour le moment jai créé un boutton "Recharger" pour actualiser la liste deroulente mais c'est pas une solution  royale  ,  l'utilisateur  ne  va  pas  cliquer a chaque fois sur le boutton  recharger

jai fais une erreur de saissie et mon code est :

<select name="liste1" onClick='remplir_nom("liste1");'>  ......

<script type='text/javascript'>
     
            function getXhr(){
                                var xhr = null;
                if(window.XMLHttpRequest) // Firefox et autres
                   xhr = new XMLHttpRequest();
                else if(window.ActiveXObject){ // Internet Explorer
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                   xhr = false;
                }
                                return xhr;
            }
           

           
function remplir_nom(combo){
                var xhr = getXhr();
                xhr.onreadystatechange = function(){
                         if(xhr.readyState 4 && xhr.status 200){
                        leselect = xhr.responseText;
                
                        document.getElementById(combo).innerHTML = leselect;
           
                    }
                }

                xhr.open("POST","listenom.php",true);

                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

            xhr.send("");
            }
        </script>

alors quesque vous me proposez  comme  evenement  pour  remplir la liste deroulente
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
à déclencher quand nécessaire... mais là, il n'y a que toi qui puisse
    le dire "quand c'est nécessaire".
        dés réponse affichée ? après un délai ? sur un évènement ?
        suite à l'action utilisateur ? ... que sais-je ?
<hr />


Cordialement        Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
33
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
10 mars 2009
1
pour moi levenenment c apres le click sur la liste deroulante elle se rempli mais quand je fais

<select name="liste1" >
la liste se ferme apres chaque clique (donc la fonction s'exucte )mais je pourrais pas selectionner un element de la liste

et quand je fais comme ca :


<select name="liste1"  onClick='remplir_nom("liste1");'>
la fonction s'excecute seulement apres le premier clique sur la liste deroulante !!!
Messages postés
67
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
23 septembre 2008
1
<select name="maliste" onSelect=ta_fonction();>
<option> ...
<option> ..
</select>

J'avais fais une faute ^^ onselect = onSelect.

Lorsque tu as choisi une option dans la liste elle execute ton script ta_fonction().
Messages postés
2
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
19 janvier 2008

premierment declarer une variable comme ca:
var counteur=0; au demmarage du votre script JAVA
deuxiement



Remplacer la line:
xhr.open("POST","listenom.php",true);

par :
xhr.open("POST","listenom.php&"+i++,true);
----