Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/11/2011, 14h54   #1
Membre éprouvé
 
Homme Gaetan
Webmaster
Inscription : janvier 2007
Messages : 388
Détails du profil
Informations personnelles :
Nom : Homme Gaetan
Âge : 40
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 388
Points : 441
Points : 441
Envoyer un message via MSN à Gaetan_
Par défaut 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 :
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 :
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 !
Gaetan_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/11/2011, 20h01   #2
Membre Expert
 
Avatar de rotrevrep
 
Homme yannick inizan
Secrétaire d'état à la procrastination
Inscription : février 2011
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme yannick inizan
Âge : 25
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Secrétaire d'état à la procrastination
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 304
Points : 1 118
Points : 1 118
Envoyer un message via MSN à rotrevrep Envoyer un message via Skype™ à rotrevrep
bonsoir
dans ton code PHP, tu écris :
Code :
echo "<A HREF='http://www.monsite.com/article.php?articleID=$articleID'>$titre</A>\n";
tu devrais plutôt faire :
Code :
echo "http://www.monsite.com/article.php?articleID=$articleID";
afin d'avoir le lien.
puis dans ton code javascript :
Code :
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
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
le chat caramail de retour ? :/ http://www.tchats.net/beta.php
les projets web en cours sont sur : https://github.com/rotrevrep
rotrevrep est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/11/2011, 09h34   #3
Membre éprouvé
 
Homme Gaetan
Webmaster
Inscription : janvier 2007
Messages : 388
Détails du profil
Informations personnelles :
Nom : Homme Gaetan
Âge : 40
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 388
Points : 441
Points : 441
Envoyer un message via MSN à Gaetan_
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 :
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 :
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 !
Gaetan_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 18h51   #4
Membre Expert
 
Avatar de rotrevrep
 
Homme yannick inizan
Secrétaire d'état à la procrastination
Inscription : février 2011
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme yannick inizan
Âge : 25
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Secrétaire d'état à la procrastination
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 304
Points : 1 118
Points : 1 118
Envoyer un message via MSN à rotrevrep Envoyer un message via Skype™ à rotrevrep
j'ai déjà eu ce problème là :
Code :
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 :
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;
});
});
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
le chat caramail de retour ? :/ http://www.tchats.net/beta.php
les projets web en cours sont sur : https://github.com/rotrevrep
rotrevrep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 10h08   #5
Membre éprouvé
 
Homme Gaetan
Webmaster
Inscription : janvier 2007
Messages : 388
Détails du profil
Informations personnelles :
Nom : Homme Gaetan
Âge : 40
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 388
Points : 441
Points : 441
Envoyer un message via MSN à Gaetan_
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 :
echo "http://www.monsite.com/article.php?articleID=$articleID"+"§"+$titre;

M'affiche une série de '0'

Code :
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
Gaetan_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/12/2011, 05h54   #6
Membre Expert
 
Avatar de rotrevrep
 
Homme yannick inizan
Secrétaire d'état à la procrastination
Inscription : février 2011
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme yannick inizan
Âge : 25
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Secrétaire d'état à la procrastination
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 304
Points : 1 118
Points : 1 118
Envoyer un message via MSN à rotrevrep Envoyer un message via Skype™ à rotrevrep
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 :
echo "http://www.monsite.com/article.php?articleID=$articleID"+"§"+$titre;

M'affiche une série de '0'

Code :
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 :
echo 'http://www.monsite.com/article.php?articleID='.$articleID.'§'.$titre;
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
le chat caramail de retour ? :/ http://www.tchats.net/beta.php
les projets web en cours sont sur : https://github.com/rotrevrep
rotrevrep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2011, 10h45   #7
Membre éprouvé
 
Homme Gaetan
Webmaster
Inscription : janvier 2007
Messages : 388
Détails du profil
Informations personnelles :
Nom : Homme Gaetan
Âge : 40
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 388
Points : 441
Points : 441
Envoyer un message via MSN à Gaetan_
Merci à toi pour ton obstination.
Je crois que je vais laisser tomber peut etre m'orienter sur une autre solution :

Le lien est présent et fonctionne mais il m'affiche le titre suivi du lien

Citation:
montitrehttp://www.monsite.com/article.php?articleID=99
Merci pour ton aide.
Gaetan_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 02h14   #8
Membre Expert
 
Avatar de rotrevrep
 
Homme yannick inizan
Secrétaire d'état à la procrastination
Inscription : février 2011
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme yannick inizan
Âge : 25
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Secrétaire d'état à la procrastination
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 304
Points : 1 118
Points : 1 118
Envoyer un message via MSN à rotrevrep Envoyer un message via Skype™ à rotrevrep
de rien .
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
le chat caramail de retour ? :/ http://www.tchats.net/beta.php
les projets web en cours sont sur : https://github.com/rotrevrep
rotrevrep est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h25.


 
 
 
 
Partenaires

Hébergement Web