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

AJAX Discussion :

Liste de suggestion avec auto-complétion


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2014
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Liste de suggestion avec auto-complétion
    Bonsoir la communauté !

    Je parcours les forums, les tutos et malgré moultes tentatives.. toujours aucun réussite.


    Voilà ce que je veux faire : Dans mon HTML, j'ai un formulaire avec entre autre un champ input.
    A ce champ, je souhaiterais ajouté une liste de suggestion avec auto-complétion et qui va chercher les mots similaires dans une base de données, selon la saisie de l'utilisateur.


    J'ai donc mon
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="text" class="INPUT_Test" id="INPUT_Test" name="INPUT_Test" onkeypress="updateSugestion()">
    <ul id="SUGEST_Test" class="SUGEST_Test"></ul>


    Avec lequel j’appelle mon script PHP qui contient le Javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script language="javascript">
    function SUGEST_Ingredient_updateSugestion()
    {
         var motsClefs = []; 
         <?php
              /*je me connecte à ma BDD, et pour récupérer la valeur que saisi l'utilisateur je fais : */
     
          $TexteSaisi = $_POST['INPUT_Test'];
     
         ?>
     
         ...
    }
    </script>

    Sauf que maintenant quand je fait ça, je ne sais pourquoi mais au moment du $_POST['INPUT_Test'], pour récupérer la valeur saisie, il m’imprime un caractère <br/>
    Or, si je veux initialiser un tableau de valeur, le caractère <br/> me gène beaucoup.. Puis du coup ça marche pas


    J'ai bien compris qu'avec Javascript et PHP on pouvais difficilement envoyer des variables de l'un autre car PHP coté c'est serveur et Javascript c'est coté client.. Mais il doit bien exister une solution pour ce que je cherche


    Merci d'avance !

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2019
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Salut ,

    Pour passer une variable de PHP a Javascript tu peux faire comme ça :

    - dans un premier temps, tu crées une variable PHP et tu encode en JSON :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $trucBackupJSON = json_encode($truc)
    -ensuite, en javascript, tu passes ta variables JSONifiée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const TRUC_BACKUP_JSON = <?= $trucBackupJSON ?>;
    Voilà comment on fait pour passer une variable PHP à javascript...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2014
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Bonsoir Black-k-fee,

    Thanks pour ta première réponse fort utile ! La suite et fin de mon problème est le suivant :

    En Javascript, j'ai bien (une fonction / un event) qui est appelée lorsque le champ INPUT est mis à jours. Cependant je n'arrive pas à mettre à jour dynamiquement la liste de mots suggérés renvoyée par le PHP.

    Finalement, comment rendre "dynamique" la requête SQL qui est fait coté PHP et qui renvois la liste des mots suggérés, en fonction de ce que saisi l'utilisateur (donc depuis l'event Javascript) ?

    Merci beaucoup d'avance pour les éclaircissements

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2019
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Salut,

    Désolé mais sur ce coup là, je vais pas pouvoir t'aider...

    Mais par contre, je suis le sujet car ça m'intéresse...


  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    • le script PHP doit être dans un fichier .php ("externe", indépendant).
    • Ce fichier sera appelé via Ajax dans le script JS.
    • Il suffira de transmettre alors le contenu de l'input.
      Par exemple avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input ... onkeypress="updateSugestion(this.value);" />

Discussions similaires

  1. [Dojo] [FilteringSelect] Destinataires avec auto complétion
    Par keysersoze00 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 10/06/2013, 12h18
  2. Evenements liés au combobox avec auto-complétion
    Par spring.time dans le forum VB.NET
    Réponses: 2
    Dernier message: 06/06/2013, 16h05
  3. Quel logiciel avec auto-complétion pour le javascript?
    Par midiweb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/04/2012, 23h24
  4. input text avec auto-complétion
    Par Taelis dans le forum Langage
    Réponses: 11
    Dernier message: 05/05/2011, 15h35
  5. [JComboBox] avec auto complétion
    Par lastrecrue dans le forum Composants
    Réponses: 1
    Dernier message: 07/05/2008, 07h05

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