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

lahlousimo 33 Messages postés lundi 6 novembre 2000Date d'inscription 10 mars 2009 Dernière intervention - 2 avril 2007 à 22:18 - Dernière réponse : hshamsan123 2 Messages postés samedi 1 avril 2006Date d'inscription 19 janvier 2008 Dernière intervention
- 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
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
hshamsan123 2 Messages postés samedi 1 avril 2006Date d'inscription 19 janvier 2008 Dernière intervention - 19 janv. 2008 à 11:01
3
Merci
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);
----

Merci hshamsan123 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de hshamsan123
lahlousimo 33 Messages postés lundi 6 novembre 2000Date d'inscription 10 mars 2009 Dernière intervention - 2 avril 2007 à 22:20
0
Merci
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 ?
Commenter la réponse de lahlousimo
PROTECTIONNISTE 67 Messages postés jeudi 30 janvier 2003Date d'inscription 23 septembre 2008 Dernière intervention - 3 avril 2007 à 01:19
0
Merci
onselect=remplir_nom("liste1");
Commenter la réponse de PROTECTIONNISTE
lahlousimo 33 Messages postés lundi 6 novembre 2000Date d'inscription 10 mars 2009 Dernière intervention - 3 avril 2007 à 08:31
0
Merci
ca ne donne aucun effet !!!!!
Commenter la réponse de lahlousimo
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 3 avril 2007 à 08:46
0
Merci
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 />
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 3 avril 2007 à 08:50
0
Merci
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 />
Commenter la réponse de cs_bultez
lahlousimo 33 Messages postés lundi 6 novembre 2000Date d'inscription 10 mars 2009 Dernière intervention - 3 avril 2007 à 09:07
0
Merci
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
Commenter la réponse de lahlousimo
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 3 avril 2007 à 09:27
0
Merci
à 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 />
Commenter la réponse de cs_bultez
lahlousimo 33 Messages postés lundi 6 novembre 2000Date d'inscription 10 mars 2009 Dernière intervention - 3 avril 2007 à 09:43
0
Merci
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 !!!
Commenter la réponse de lahlousimo
PROTECTIONNISTE 67 Messages postés jeudi 30 janvier 2003Date d'inscription 23 septembre 2008 Dernière intervention - 3 avril 2007 à 12:24
0
Merci
<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().
Commenter la réponse de PROTECTIONNISTE
hshamsan123 2 Messages postés samedi 1 avril 2006Date d'inscription 19 janvier 2008 Dernière intervention - 19 janv. 2008 à 10:57
0
Merci
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);
----
Commenter la réponse de hshamsan123

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.