2010-01-12 4 views
0

Je veux juste savoir s'il existe un moyen de répondre à cette question avec "Oui" sans JavaScript. Ce que je veux faire est d'avoir un formulaire de recherche qui génère automatiquement des URL comme http://example.com/search/my+search+term ou quelque chose de similaire lorsque j'entre my search term dans un champ de texte de recherche.Méthode de formulaire HTML avec une belle URL

EDIT: En raison d'une mauvaise compréhension (et d'un manque de clarté de ma part), une clarification: Je veux que le navigateur génère cette URL en fonction de la valeur du champ de texte lorsque le formulaire est soumis.

Répondre

3

Non, ce n'est pas possible sans JavaScript. Le meilleur que vous pouvez faire est d'utiliser une action GET et avoir une URL comme http://example.com/search/?q=my+search+term, où q est le nom de la boîte de recherche d'entrée.

+0

BTW c'est un peu ce que google fait;): http://www.google.com/search?q=my+search+term! – Wookai

0

Oui, vous pouvez effectuer quelque chose comme ce côté serveur assez facilement aussi longtemps que cela ne vous dérange pas de soumettre un formulaire.

EDIT: Après des précisions de l'auteur dans les commentaires ci-dessous: Il n'est pas possible de côté client sans JavaScript ou un autre outil côté client comme Flash/Silverlight (qui est certes exagéré).

+0

Je ne pense pas que ce soit la réponse à la question qui est posée. –

+0

Hein? Comment cela m'aide-t-il lorsque le formulaire est soumis via POST ou GET? – Franz

+0

Comment n'est-ce pas une réponse? Je pourrais écrire un script python ou php pour le faire maintenant. Il a demandé s'il pouvait générer une URL comme celle-ci à la suite d'un formulaire de recherche, et c'est 100% possible. –

0

La réponse est non

+1

+1. C'est tout ce que j'ai demandé et donc vous devriez au moins ne pas obtenir une downvote pour cela;) – Franz

+0

@Franz Merci mon pote :) – cx0der

+0

c'est super attitude .. Je devrais dire ..:-) –

0

Non si vous voulez qu'il soit côté client, si vous pouvez le faire côté serveur (en soumettant le formulaire), vous pouvez utiliser quelque chose comme PHP

+0

Eh bien, l'URL de l'action est créée du côté client ... – Franz

2

En utilisant seulement html, pas .

Vous pourriez avoir quelque chose de côté serveur qui pourrait fonctionner. Vous pouvez demander au serveur de répondre avec un code de réponse 302. Si vous utilisez Apache, vous pouvez probablement utiliser mod_rewrite pour prendre la requête GET et générer une nouvelle URL. Par exemple, le navigateur peut demander http://example.com/search/?q=blah+foo+bar, le serveur peut alors prendre cela et envoyer au navigateur une redirection 302 pour http://example.com/search/blah+foo+bar.

Voir plus d'informations au Apache url rewriting guide, ou en utilisant votre moteur de recherche préféré.

Vous pouvez toujours utiliser javascript pour générer l'URL correcte, mais si quelqu'un a javascript désactivé, cela fonctionnera comme une solution de repli.