Probleme evenement onclick pour excecuter une fonction

Résolu
lahlousimo Messages postés 33 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 10 mars 2009 - 2 avril 2007 à 22:18
hshamsan123 Messages postés 2 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 19 janvier 2008 - 19 janv. 2008 à 11:01
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

hshamsan123 Messages postés 2 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 19 janvier 2008
19 janv. 2008 à 11:01
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);
----
3
lahlousimo Messages postés 33 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 10 mars 2009 1
2 avril 2007 à 22:20
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 ?
0
PROTECTIONNISTE Messages postés 67 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 23 septembre 2008 1
3 avril 2007 à 01:19
onselect=remplir_nom("liste1");
0
lahlousimo Messages postés 33 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 10 mars 2009 1
3 avril 2007 à 08:31
ca ne donne aucun effet !!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 avril 2007 à 08:46
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 />
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 avril 2007 à 08:50
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 />
0
lahlousimo Messages postés 33 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 10 mars 2009 1
3 avril 2007 à 09:07
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
0
cs_bultez Messages postés 13616 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 avril 2007 à 09:27
à 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 />
0
lahlousimo Messages postés 33 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 10 mars 2009 1
3 avril 2007 à 09:43
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 !!!
0
PROTECTIONNISTE Messages postés 67 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 23 septembre 2008 1
3 avril 2007 à 12:24
<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().
0
hshamsan123 Messages postés 2 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 19 janvier 2008
19 janv. 2008 à 10:57
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);
----
0
Rejoignez-nous