Bonjour à tous,
J'utilise un script d'auto complétion sur mon site que j'ai trouvé ici: http://www.paperblog.fr/578676/wordpress-autocompletion-du-champ-de-recherche/
à la base c'est pour wordpress et je l'ai adapté pour qu'il fonctionne pour ma boutique oscommerce, l'auto complétion fonctionne bien le problème est que si je clique sur le nom d'un produit pour me rendre sur la page de ce produit le lien ne fonctionne qu'avec opéra tout les autres navigateur que j'ai pu tester je vois bien le lien quand je passe la souris sur le nom du produit mais quand je clique rien ne ce passe !
mais sous opéra sa fonctionne
alors je ne comprend pas pour quoi pourtant c'est un script php qui génère les lien il ne devrais pas y avoir de souci, j'ai aussi regardé avec firebug la requète ajax ce fait correctement et je n'ai aucun erreur concernant le lien.
Voici le code javascript:
et le fichier php:
Merci
Modifié par knostra67 (24 Jan 2010 - 19:10)
J'utilise un script d'auto complétion sur mon site que j'ai trouvé ici: http://www.paperblog.fr/578676/wordpress-autocompletion-du-champ-de-recherche/
à la base c'est pour wordpress et je l'ai adapté pour qu'il fonctionne pour ma boutique oscommerce, l'auto complétion fonctionne bien le problème est que si je clique sur le nom d'un produit pour me rendre sur la page de ce produit le lien ne fonctionne qu'avec opéra tout les autres navigateur que j'ai pu tester je vois bien le lien quand je passe la souris sur le nom du produit mais quand je clique rien ne ce passe !
mais sous opéra sa fonctionne

alors je ne comprend pas pour quoi pourtant c'est un script php qui génère les lien il ne devrais pas y avoir de souci, j'ai aussi regardé avec firebug la requète ajax ce fait correctement et je n'ai aucun erreur concernant le lien.
Voici le code javascript:
var myAjax = ajax();
function ajax() {
var ajax = null;
if (window.XMLHttpRequest) {
try {
ajax = new XMLHttpRequest();
}
catch(e) {}
}
else if (window.ActiveXObject) {
try {
ajax = new ActiveXObject("Msxm12.XMLHTTP");
}
catch (e){
try{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
return ajax;
}
function parti(){
document.getElementById('tag_update').style.display = "none";
}
function request(str) {
//N'oubliez pas de modifier le chemi du fichier au besoin.
myAjax.open("POST", "gettags.php");
myAjax.onreadystatechange = result;
myAjax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
myAjax.send("keywords="+str);
}
function result() {
if (myAjax.readyState == 4) {
var liste = myAjax.responseText;
var cible = document.getElementById('tag_update').innerHTML = liste;
document.getElementById('tag_update').style.display = "block";
}
}
function selected(choice){
var cible = document.getElementById('tag_update');
cible.value = choice;
document.getElementById('tag_update').style.display = "none";
}
et le fichier php:
require('connect.db.php');
if (isset($_POST['keywords'])) {
$keywords = htmlentities($_POST['keywords']);
} else $keywords ='';
$query = "SELECT products_name, products_id from products_description WHERE products_name LIKE '$keywords%'";
$result = tep_db_query($query) or die();
echo '<ul>';
while ($data = mysql_fetch_array($result)){
echo '<li>
<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $data['products_id']) . '" onclick="selected(this.innerHTML);">'.htmlentities($data['products_name']).'</a></li>';
}
echo '</ul>';
Merci
Modifié par knostra67 (24 Jan 2010 - 19:10)