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

Langage PHP Discussion :

[PHP-JS] MAJ du contenu d'un select à partir du contenu d'un <input type="text">


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 82
    Points : 45
    Points
    45
    Par défaut [PHP-JS] MAJ du contenu d'un select à partir du contenu d'un <input type="text">
    Bonjour,
    J'ai construit un form (POST) dans lequel j'ai (entre autres) un <input type="text" name="codepostal">
    L'internaute y saisit donc un code postal de son choix.
    Et juste après j'ai mis un <select name="choixville"> (qui est vide à l'ouverture du form) et dont les <option> seront issus dynamiquement d'une table MySQL contenant la liste des codes postaux et villes, càd qui n'affichera que la liste des villes dont le code postal correspond à celui qui a été saisi)
    Ce que j'aimerais donc obtenir, c'est que le contenu de la liste déroulante "choixville" soit filtré instantanément après la saisie du code postal.
    Mon pb n'est pas de générer cette liste dynamique, ça je sais faire, mais c'est un pb plutôt d'ordre "évènementiel" : est-ce possible de faire un "onclick" sur la liste déroulante (un peu comme l'évènement du même nom dans VBA) qui permettrait de récupérer la valeur du champ "codepostal" et ainsi me permettre de filtrer ma liste déroulante des villes en fonction de cette valeur ?
    Je pense que la question cruciale est : peut-on récupérer le contenu d'un champ texte de form alors qu'il n'a pas encore été passé en paramètre ? (le bouton submit n'intervenant qu'après, lorsque l'internaute a fini de remplir l'ensemble des champs du form).
    Voilà, j'espère que j'ai exprimé mon pb suffisamment clairement, en espérant qu'il existe une solution plus simple que d'imbriquer 2 forms.
    Merci d'avance !

  2. #2
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 64
    Points
    64
    Par défaut L'ajax
    L'ajax permet ces opérations , fait un tour dans les tutos de developpez.com tu trouvera :
    http://nicolaspied.developpez.com/ajax-premiers-pas/
    allez plus loin :
    http://siddh.developpez.com/articles/ajax/


    Résolu ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    Si j'ai bien compris, tu veux récupérer la valeur du champ code postal après son changement: Si c'est bien le cas tu peux utiliser l'évènement onchange pour récupérer la valeur via javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="codepostal" onchange=getVille(this.value)>
    Ensuite tu construit ta liste en javascript en fonction de la valeur.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Points : 102
    Points
    102
    Par défaut
    bonjour,
    c'est très dur de capturer les événements sur les input[text]. Les navigateurs les interpretent très différement. De plus, si l'on utilise l'event onchange, dès que l'utilisateur tappe un chiffre cela recharge la page !
    Plusieurs solutions s'offrent à toi:
    un bouton pour rafraichir la page avec la liste par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="button" onclick="document.localtion='<?php echo $_SERVER['PHP_SELF']; ?>?codepostal='+maform.moninputcodepostal.value" />
    Tu peux aussi remplacer ton input[text] du code postal par un select.
    L'idéal serait d'utiliser AJAX avec l'attribut onchange dans ton input[text] du codepostal. Cela permettrait de regénérer à la volée ta liste de villes.

    Mais je pense que la meiileur façon de régler ton pb, c'est de faire une première liste déroulante sélection du département puis une deuxième selection de la ville en fonction de la première.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 64
    Points
    64
    Par défaut Non , lui veut ..
    Non , lui veut extraire les villes d'une base de donnée mysql , ce qui veut dire qu'il doit obligatoirement utiliser php , et pour faire ceci sans rafraichir la page il a besoin d'utiliser la technologie AJAX . .

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Points : 102
    Points
    102
    Par défaut
    j'ai bien compris. mais il veut le faire à partir d'un code postal entré par l'utilisateur. AJAX est très bien dans ce cas là. Mais vu que le mieux est souvent de prendre l'utilisateur par la main, faire une première liste de sélection du département suffit à la place du code postal. Ce dernier comportant le numéro du département et de la ville, aucun intérêt de faire une liste de villes par la suite (un codepostal est unique à ce que je sache...) ! si j'ai bien compris !

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/04/2013, 09h56
  2. Réponses: 5
    Dernier message: 19/06/2006, 23h22
  3. [PHP-JS] Lecture des options d'un select
    Par licorne dans le forum Langage
    Réponses: 25
    Dernier message: 09/03/2006, 16h05
  4. Select sur le contenu (image) d'un BLOB
    Par Ryan Sheckler dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/01/2006, 21h04
  5. Récupérer le contenu d'un select
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2005, 15h38

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