IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

OnChange appel d'une fonction


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Points : 29
    Points
    29
    Par défaut OnChange appel d'une fonction
    Bonjour,

    y a t'il une subtilitée de IE qui fait que l'appel de ma fonction envoyerinfos ne fonctionne pas sur ce navigateur ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    function envoyerinfos(text)  
    { 
    // On initialise une variable qui va contenir l'objet ajax. 
    var xajax = null; 
     
    // On vérifie sous quel navigateur nous sommes, soit sous firefox et dérivés, soit sous internet explorer 
    if(window.XMLHttpRequest) xajax = new XMLHttpRequest(); 
    else if(window.ActiveXObject) xajax = new ActiveXObject("Microsoft.XMLHTTP"); 
     
    // Sinon le navigateur n'est pas compatible 
    else return(false); 
     
     
    var str = "variable="+text; 
     
    xajax.open("POST","ajax.php",false); 
     
    xajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
     
    xajax.send(str); 
     
    if(xajax.readyState == 4) { 
    var div = document.getElementById('ajax'); 
    	div.innerHTML = xajax.responseText; 
    } 
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select name='creditajax' id='creditajax' onchange="envoyerinfos(document.forms[0].creditajax.options[document.forms[0].creditajax.selectedIndex].value);">
    <option value="-1">Valeurs par défaut</option>
    <option value="-2">Valeurs personnalisées</option>
    </select>
    Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="alert(document.forms[0].creditajax.options[document.forms[0].creditajax.selectedIndex].value)"
    Cela me retourne la valeur de l'option sélectionnée

    Merci.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Problème de cache probablement...
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var anti_cache=new Date();
    var str = "variable="+text+"&anti_cache="+anti_cache;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    merci mais cela n'a pas d'effet

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par adrien334 Voir le message
    Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="alert(document.forms[0].creditajax.options[document.forms[0].creditajax.selectedIndex].value)"
    Cela me retourne la valeur de l'option sélectionnée
    Bah oui : où est le problème ?
    D'ailleurs, il y aurait plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="alert(this.value)"


    Ceci dit :
    • que te retourne ton responseText ?
    • Est-ce que ça fonctionne si tu entres l'url appelées via Ajax directement dans la barre d'adresse (avec le paramètre correct) ?

    A+

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,
    Bah oui : où est le problème ?
    D'ailleurs, il y aurait plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="alert(this.value)"


    Ceci dit :
    • que te retourne ton responseText ?
    • Est-ce que ça fonctionne si tu entres l'url appelées via Ajax directement dans la barre d'adresse (avec le paramètre correct) ?

    A+
    Normalement reponseText doit me retourner du contenu, ce qui fonctionne parfaitement sous firefox, mais sous IE rien ne se produit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		$reponse = $_POST["variable"];
    		if($reponse == '-2'){ Cabinetsdivision3(Credit);}
    		elseif($reponse == '-1'){ 
    		echo "Aucun critère de sélectivité ne sera appliqué."; 
    		?><div style="display:none"><? Cabinetsdivision3(Credit); ?></div><?
    		}
    		else{}
    Comment pourrai-je tapper l'url alors que les paramètres sont en POST ?

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par adrien334 Voir le message
    Normalement reponseText doit me retourner du contenu,
    Je suppose, parce que sinon ...
    La question était "lequel ?"
    ce qui fonctionne parfaitement sous firefox, mais sous IE rien ne se produit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		$reponse = $_POST["variable"];
    		if($reponse == '-2'){ Cabinetsdivision3(Credit);}
    		elseif($reponse == '-1'){ 
    		echo "Aucun critère de sélectivité ne sera appliqué."; 
    		?><div style="display:none"><? Cabinetsdivision3(Credit); ?></div><?
    		}
    		else{}
    Tu renvoies un div, masqué : pas étonnant que tu ne le vois pas, même si ça fonctionne ...
    Comment pourrai-je tapper l'url alors que les paramètres sont en POST ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.ton_site.com/ta_page.html?variable=text
    Tu n'as qu'à remplacer "text" par une valeur correcte ( -1 par exemple, non ?)

    A+

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Je suppose, parce que sinon ...
    La question était "lequel ?"

    Tu renvoies un div, masqué : pas étonnant que tu ne le vois pas, même si ça fonctionne ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.ton_site.com/ta_page.html?variable=text
    Tu n'as qu'à remplacer "text" par une valeur correcte ( -1 par exemple, non ?)

    A+
    Le div est en display:none car il ne dois pas être visible, mais "Aucun critère de sélectivité ne sera appliqué." devrait s'afficher ou "Cabinetsdivision3(Credit);" qui retourne un echo devrait aussi s'afficher et ca fonctionne très bien avec firefox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.ton_site.com/ta_page.html?variable=
    C'est pas plutôt du GET ça

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par adrien334 Voir le message
    C'est pas plutôt du GET ça
    Le but est d'appeler la page

    Tu as essayé ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Le but est d'appeler la page

    Tu as essayé ?
    Oui, ça me retourne le else, ce qui est normal vu que la méthode est un post

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par adrien334 Voir le message
    Oui, ça me retourne le else, ce qui est normal vu que la méthode est un post
    Et tu sais pas adapter ton php pour tes test ?

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Et tu sais pas adapter ton php pour tes test ?
    Ça ne vient pas du PHP,

    J'ai ajouté ceci dans le javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var str = "variable="+text; 
    alert(+text);
    Sous firefox, j'ai l'alert qui se déclenche, mais sous IE rien, j'en déduis donc que sous IE ma fonction n'est pas appelée

  12. #12
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par adrien334 Voir le message
    Ça ne vient pas du PHP,
    C'est du debuggage !

    Bon courage pour la suite

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    C'est du debuggage !

    Bon courage pour la suite
    merci

Discussions similaires

  1. Appel d'une fonction JS sur onchange
    Par Benduroy dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 30/10/2012, 15h02
  2. [XSLT] appel d'une fonction javascript "onchange" d'un input text
    Par loukili81 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 25/12/2006, 18h14
  3. Réponses: 4
    Dernier message: 02/06/2004, 16h35
  4. Appel d'une fonction
    Par jfphan dans le forum ASP
    Réponses: 4
    Dernier message: 14/04/2004, 15h06
  5. A la recherche de l'appel d'une fonction...
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 24/09/2003, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo