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 :

[AJAX] jQuery autocomplete & liens


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut [AJAX] jQuery autocomplete & liens
    Bonjour,

    J’utilise l'autocomplétition :
    http://code.google.com/p/jquery-auto...ate%253Dclosed

    Tout marche à la perfection à l'exception des liens qui ne sont pas interprétés, pas "cliquables".
    J'ai donc avant de vous sollicité fait mes recherches et obtenu un mieux :
    les résultats de l'autocomplétition sont cliquables, mais je n'arrive pas à obtenir le résultat escompté.


    Pour être plus précis, voici en partie mon code :
    1 - mon fichier php (f_autocomplete.php) :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    include("privateu/mysql_connect.php3.inc");
    $q = strtolower($_GET["q"]);
    if (!$q) return;
    $q = mysql_real_escape_string($q);
    $rsd = mysql_query("select DISTINCT titre as titre, articleID from articles where titre LIKE '%$q%'");
    while($rs = mysql_fetch_array($rsd)) {
    	$articleID = $rs['articleID'];
    	$titre = $rs['titre'];
    	echo "<A HREF='http://www.monsite.com/article.php?articleID=$articleID'>$titre</A>\n";
    }
    ?>

    Mon Javascript :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">
    $().ready(function() {
    $("#course").autocomplete("f_autocomplete.php", {
        width: 260,
        formatItem: function(data) {
                return data[0];
              }
            }).result(function(event, data) {
         window.location.href = data[0];
    });
    });
    </script>

    Conclusion :
    Les liens sont cliquables mais deviennent :

    http://localhost/<HREF='http://www.site.com/article.php?articleID=62...montitre...

    Quelqu'un pourrait il m'aider à résoudre ce problème ?
    En espérant qu'il puisse servir à d'autres...

    Merci !

  2. #2
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Par défaut
    bonsoir
    dans ton code PHP, tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<A HREF='http://www.monsite.com/article.php?articleID=$articleID'>$titre</A>\n";
    tu devrais plutôt faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "http://www.monsite.com/article.php?articleID=$articleID";
    afin d'avoir le lien.
    puis dans ton code javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $().ready(function() {
    $("#course").autocomplete("f_autocomplete.php", {
        width: 260,
        formatItem: function(data) {
                return '<a href="'+data[0]+'"></a>';
              }
            }).result(function(event, data) {
         window.location.href = data[0];
    });
    });
    ce qui devrait normalement t'afficher les liens puis faire fonctionner correctement le location.href

  3. #3
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut
    Merci pour ta réponse, ça y est presque !!!
    Les liens marchent parfaitement mais leurs intitulés sont vierges (des blancs).

    J'imagine alors qu'il faut bien sur les déclarer du genre :

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $().ready(function() {
    $("#course").autocomplete("f_autocomplete.php", {
        width: 260,
        formatItem: function(data) {
                return '<a href="'+data[0]+'">'+data[1]+'</a>';
              }
            }).result(function(event, data) {
         window.location.href = data[0];
    });
    });

    Mais comment faire pour déclarer ma variable data[1] dans le résultat de ma requête ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    include("privateu/mysql_connect.php3.inc");
    $q = strtolower($_GET["q"]);
    if (!$q) return;
    $q = mysql_real_escape_string($q);
    $rsd = mysql_query("select DISTINCT titre as titre, articleID from articles where titre LIKE '%$q%'");
    while($rs = mysql_fetch_array($rsd)) {
    	$articleID = $rs['articleID'];
    	$titre = $rs['titre'];
    echo "http://www.monsite.com/article.php?articleID=$articleID";
    }
    ?>
    Je suis désolé, mes connaissances en JS sont un peu maigres ;(

    Merci, merci !

  4. #4
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Par défaut
    j'ai déjà eu ce problème là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    include("privateu/mysql_connect.php3.inc");
    $q = strtolower($_GET["q"]);
    if (!$q) return;
    $q = mysql_real_escape_string($q);
    $rsd = mysql_query("select DISTINCT titre as titre, articleID from articles where titre LIKE '%$q%'");
    while($rs = mysql_fetch_array($rsd)) {
            $articleID = $rs['articleID'];
            $titre = $rs['titre'];
    //tu peux choisir un autre caractère que "§" pour séparer les paramètres :)
    echo "http://www.monsite.com/article.php?articleID=$articleID"+"§"+$titre;
    }
    ?>
    puis dans ton code js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $().ready(function() {
    $("#course").autocomplete("f_autocomplete.php", {
        width: 260,
        formatItem: function(data) {
              var url = data[0].split('§')[0];
              var title = data[0].split('§')[1];
                return '<a href="'+url+'">'+title+'</a>';
              }
            }).result(function(event, data) {
         window.location.href = url;
    });
    });

  5. #5
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut
    rhaaa tu es super.
    Bon la fin est proche !
    J'essaye de changer la concatenation et la rendre compatible à ton explode mais pas évident. car :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "http://www.monsite.com/article.php?articleID=$articleID"+"§"+$titre;

    M'affiche une série de '0'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'http://www.monsite.com/article.php?articleID='.$articleID.'+"§"+'.$titre;
    Marche bien en exécutant le script indépendamment, mais ne fonctionne pas avec le JS

    Help !

    Merci

  6. #6
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Par défaut
    Citation Envoyé par Gaetan_ Voir le message
    rhaaa tu es super.
    Bon la fin est proche !
    J'essaye de changer la concatenation et la rendre compatible à ton explode mais pas évident. car :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "http://www.monsite.com/article.php?articleID=$articleID"+"§"+$titre;

    M'affiche une série de '0'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'http://www.monsite.com/article.php?articleID='.$articleID.'+"§"+'.$titre;
    Marche bien en exécutant le script indépendamment, mais ne fonctionne pas avec le JS

    Help !

    Merci
    effectivement, je me suis trompé, c'est bien les points dans le code php ! par contre, comme tu utilises l'apostrophe, corrige comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'http://www.monsite.com/article.php?articleID='.$articleID.'§'.$titre;

Discussions similaires

  1. [AJAX] Jquery autocomplete ajax
    Par BByani dans le forum jQuery
    Réponses: 2
    Dernier message: 26/09/2013, 07h59
  2. Réponses: 2
    Dernier message: 12/07/2011, 22h21
  3. Réponses: 1
    Dernier message: 20/01/2011, 18h31
  4. [AJAX] Tutoriel, Autocompletion et event onkeypress
    Par Kael dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/06/2007, 11h21
  5. [AJAX]Tutoriel autocompletion > problème accents
    Par worldwide dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/07/2006, 13h48

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