Forum de discussion
Forum « Programmation Javascript » (archives)
Re: Saisie de texte de recherche
Envoyé: 14 mars 2003, 10h00 par Oznog
Attention, quino a été mélangé par ta question, un lien hypertexte. Tu as soit un formulaire soit un lien hypertexte. quino à voulu te faire faire les deux en même temps. Un lien qui utilise le mot saisie dans un formulaire. Bien que sont code soit tout à fait innopérant. Attention à tes questions si tu veux une bonne réponse.
Tu parle de lien hypertexte mais il en est pas du tout question dans ton cas. Tu veux probablement dire que le formulaire sera passé à une autre page. Si tu veux un terme qui porte moins à confusion, on dirait une requète HTTP. Tant un formulaire en méthode GET que POST ou le simple lien hypertexte sont des requètes HTTP.
Alors, c'est simple tu as deux options. Et oui encore une fois tu le fais en Javascript (plus complexe) ou en langage serveur (plus simple).
1. Les deux techniques demande un formulaire avec un champ de saisie.
<form name="monForm" action="page.htm" method="get" >
<input type="text" name="champDeRecherche">
</form>
"L'action" est la page qui récupère la requête HTTP et son en-tête soit le mot saisie dans "champDeRecherche". Ici c'est page .htm donc exclusivement en Javascript. Si tu utilise un langage serveur c'est page.asp ou encore page.php etc...
Note que la méthode est "GET" bien que "POST" soit possible avec un langage serveur (impossible en Javascript) je te conseil dans ce cas précis la méthode "GET". Pas besoin de savoir pourquoi pour l'instant. Tout simplement plus flexible.
La saisie est donc asser simple.
2. C'est la récupération qui est complexe. Si c'Est en Javascript c'Est l'enfer. Va lire ce tutoriel et tu va découvrir pourquoi. Récupérer un formulaire en Javascript : http://www.trucsweb.com/Javascript/trucs.asp?no=303&type=5
C'est pourquoi je te conseil d'utiliser un moteur de recherche en Javascript déjà réalisé pour toi :
Moteur de recherche pour votre site
http://www.trucsweb.com/Javascript/trucs.asp?no=342&type=5 Note dynamic-core.net ne semble plus exister mais j'avais eu l'autorisation pour faire une version française, alors télécharge la version française.
Par contre avec un langage serveur c'est beaucoup plus simple. (Dans ce cas ci, note que qu'on ne parle pas de vrais moteur de rechercue, depuis une base de données, un texte, XML ou Index Server qui demande tous beaucoup de connaîssance en programmation, notemment en langage SQL).
Un exemple simple en ASP :
<%
Select Case Request.QueryString("champDeRecherche")
Case "motClé1" : Response.Redirect "page1.asp"
Case "motClé2" : Response.Redirect "page2.asp"
Case "motClé3" : Response.Redirect "page3.asp"
Case "motClé4" : Response.Redirect "page4.asp"
End Select
%>
Note que c'est une base, ça peut aisément se complexifié avec des expressions régulières si tu as plusieurs mots clés par exemple etc.
C'est à peut près la même base en PHP au lieu du CASE c'est switch et le Request.QueryString("champDeRecherche") c'est simplement $champDeRecherche
On peut t'aider à l'implenter, quino aussi, si tu présice la technique a utiliser (Javascript, PHP ou ASP). MAis si tu n'a que quelques concordance, c'est à dire plus ou moins 100 pages statique, je te conseil la méthode Javascript de "Dynamic CoreNet xSearch" que tu peux d'ailleurs tester ici : http://www.trucsweb.com/Javascript/xSearch/
Ciao
Oznog
Réponses
|