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 non fonctionnel


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Par défaut onchange non fonctionnel
    Bonjour,

    je suis en train de transférer mes application d'un ancien serveur vers un nouveau et lors du test je me rends compte que mes onchange ne fonctionnent plus.

    Voici un exemple

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="tri" id="tri" onchange="window.location.href='<?php echo $this->baseUrl();?>/Fichier/listeclients/tri/'+this.value+'/filtre/'+$('select#filtre').attr('value')+'/filtre2/'+$('select#filtre2').attr('value')+'/page/<?php echo $page->getCurrentPageNumber();?>'">

    J'ai modifié mon select pour afficher une simple alerte et ça marche
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="tri" id="tri" onchange="alert('ok')">

    Quelqu'un aurait-il une idée du pourquoi ça fonctionnait avant et plus maintenant ?

  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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Heu... tu veux que JavaScript interprète du code PHP ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2012
    Messages : 18
    Par défaut
    c'est quelque chose qui fonctionnait parfaitement sur mon ancien serveur donc pourquoi ça ne fonctionnerait plus maintenant ? ou sinon comment faire pour intégrer ces informations ?

    De plus le php est bien interprété car lorsque je regarde le code source de la page j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name="tri" id="tri" onchange="window.location.href='/cdl/Fichier/listeclients/tri/'+this.value+'/filtre/'+$('select#filtre').attr('value')+'/filtre2/'+$('select#filtre2').attr('value')+'/page/1'">
    je viens de modifier mon code de la manière suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name="tri" id="tri" onchange="window.location.href='<?php echo $this->baseUrl();?>/Fichier/listeclients/tri/code_identif_cci/filtre//filtre2/1/page/<?php echo $page->getCurrentPageNumber();?>'">
    et celui-ci fonctionne parfaitement.

    Le problème ne serait donc pas au niveau du php mais des variables en javascript

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2013
    Messages : 29
    Par défaut
    Pour récupérer la valeur sélectionnée du <select> , tu peux remplacer ton "this.value" par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.options[this.selectedIndex].value
    Idem pour ton $('select#filtre2').

  5. #5
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    @Puuck : aucune utilité. Cette syntaxe était utile pour Netscape4 / IE4, depuis, tous les navigateurs comprennent parfaitement this.value pour un select.

    @mathieu.dubiez : ah... je croyais j'osais espérer que tu avais lu Important : Les règles incontournables d'utilisation de ce forum qui stipule clairement de poster le code généré et non le code serveur qui n'a aucun intérêt ici...

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('select#filtre').attr('value')

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('select#filtre').val()
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 099
    Par défaut
    Attention à l'efficacité du sélecteur : avec "select#filtre", c'est le DOM tout entier qui est d'abord scanné à la recherche des éléments <select>, puis seul celui qui porte l'id "filtre" est gardé.

    Peut-être que jQuery optimise les sélecteurs en interne, mais il vaut mieux ne pas faire le pari.

    Le plus efficace de tous les mécanismes de sélection, c'est l'id. Ainsi, "#filtre" est bien plus efficace que "select#filtre".
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. Flash Disque non fonctionnel
    Par stanley dans le forum Composants
    Réponses: 2
    Dernier message: 18/07/2006, 12h18
  2. Code non fonctionnel sous IE
    Par Nip dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 14h59
  3. timage non fonctionnel !!
    Par micky13 dans le forum Delphi
    Réponses: 5
    Dernier message: 13/05/2006, 07h21
  4. Update non fonctionnel
    Par kissmytoe dans le forum Access
    Réponses: 7
    Dernier message: 07/03/2006, 18h37
  5. [REPORTS] Order BY non fonctionnel
    Par sdiack dans le forum Reports
    Réponses: 2
    Dernier message: 10/02/2006, 18h10

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