2010-10-08 3 views
0

Je les lignes de code suivantes:

var search = $("#txtSearch").val(); 
search.replace(" ", "%20"); 
$(".header").html("/Parts/Search.php?type=" + $("input[name=type]:checked").val() + "&q=" + search); 
$(".main-content").load("/Parts/Search.php?type=" + $("input[name=type]:checked").val() + "&q=" + search); 

Je sais qu'il ya une zone de texte avec l'ID spécifié dans la première ligne, et deux entrées de type radio avec le nom du jeu à taper. La valeur transmise pour le type est soit code postal, soit normal. La sortie correcte (pour autant que je puisse voir) est affichée dans tous les éléments satisfaisant le sélecteur .header. Cependant, la page ne se charge pas dans .main-content. Il y a une autre page, appelée Search.php, à laquelle l'utilisateur est redirigé si JS est désactivé (il y a un bouton de soumission soumis à /Search.php via la méthode GET - cela disparaît et un lien Rechercher apparaît si JS est activé). Si cette page possède les deux paramètres de chaîne de requête spécifiés, elle inclura /Parts/Search.php. Cela fonctionne bien - il lit la chaîne de requête à partir du parent (niveau racine) Search.php. Je ne comprends pas pourquoi cela ne fonctionnera pas avec jQuery. Quelqu'un a-t-il une idée?

Merci à l'avance,

Richard

PS J'ai aussi essayé de fixer la valeur de la boîte de recherche sur la fin de l'URL, sans l'enregistrer dans une variable puis remplacer l'espace ... Cela n'a pas fonctionné non plus.

+1

Je l'ai lu comme 5 fois maintenant et je n'arrive toujours pas à comprendre ce qui est la faute ici. ;) Pouvez-vous inclure des scripts plus clairs? Je veux dire que le script que vous avez fourni est si petit que je ne suis pas sûr de ce qu'il faut supposer. – Reigel

+0

Glad son pas juste moi ... :) – ClarkeyBoy

+0

Un bon exemple d'une page qui charge mal en utilisant jQuery est la page php: /Search.php?type=PostCode&q=DT11%209HG, qui produit 3 résultats dans les 25 miles, et jQuery : /Parts/Search.php?type=PostCode&q=DT11 9HG. Je l'ai essayé avec et sans l'espace (dans le querystring jQuery) remplacer par% 20 ... Je ne comprends pas pourquoi ... – ClarkeyBoy

Répondre

2

La ligne 2 me semble suspect. replace renvoie une valeur. Essaye ça.

search = search.replace(" ", "%20"); 
+0

Ha, oups, après avoir lu tous les commentaires, je vois que vous avez noté cela. Mais je voulais juste que ce soit plus évident. –

+0

Un peu en retard mais +1 pour essayer d'aider .. tout a été fait par des commentaires donc il n'y avait pas de réponse à marquer comme correcte. – ClarkeyBoy

Questions connexes