Avatar billede delphin Nybegynder
18. november 2006 - 11:08 Der er 6 kommentarer og
1 løsning

Søgetekst til alm. link (xhtml form og javascript)

Jeg vil gerne have så man kan skrive et søgeord i et tekstfelt - og når man så trykker på en knap så skal den sætte søgeordet op i url'en.

Fx hvis man søger på "søgeord" så kunne linket være

main.php?page=search&searchstring=søgeord

Jeg har fået følgende til at virke hvis man trykker på søgeknappen, men hvis man trykker enter virker det ikke hver gang?!?! I øvrigt har jeg brugt name="myform" - det validerer ikke i xhtml - der skal man vist bruge id="myform", men så virker javascript halløjet ikke. Jeg vil også gerne have at løsningen validerer i xhtml


<form class="hcenter" name="myform">
<p>
<input type="text" name="searchword" size="50" maxlength="200" value="" /><br /><br />
<input type="button" name="searchbutton" value="SØG" onclick="window.location.href = 'main.php?page=search&amp;searchstring='+myform.searchword.value;" />
</p>
</form>
Avatar billede keysersoze Guru
18. november 2006 - 11:29 #1
<form class="hcenter" name="myform" method="post">
<input type="text" name="searchword" size="50" maxlength="200" value="" /><br />
<input type="submit" name="searchbutton" value="SØG" />
</form>
Avatar billede delphin Nybegynder
18. november 2006 - 11:37 #2
jamen - det er vel bare alm. måde at bruge form på - det jeg vil er at bruge den på den lidt underlige måde hvor søgeordet kommer op i url'en.

Jeg skulle måske sige at jeg gerne vil have en løsning uden brug af form eller javascript, men man skal jo på en eller anden måde have et tekstfelt som folk kan skrive i - og man skal på en eller anden måde have søgeordet op i url'en.
Avatar billede keysersoze Guru
18. november 2006 - 11:41 #3
hov - fik skrevet forkert. Der skal stå;

<form class="hcenter" name="myform" method="get">

når du submitter en form kan du gøre det på to måder; post og get. Post sender (mere eller mindre) usynligt dataene afsted og get sender i adressebaren.
Avatar billede delphin Nybegynder
18. november 2006 - 11:48 #4
ja, jeg har også rodet lidt med method="get"

<form class="hcenter" name="myform" method="get">
<input type="text" name="searchword" size="50" maxlength="200" value="" /><br />
<input type="submit" name="searchbutton" value="SØG" />
</form>

men så bliver resultatet (hvis man søger på "test")

main.php?searchword=test&searchbutton=S%D8G

og altså ikke

main.php?page=search&searchstring=test
Avatar billede keysersoze Guru
18. november 2006 - 11:56 #5
du vil få alle formfelter med - så seachbuttom må du leve med, og skal page med må du indsætte et hidden felt

<input type="hidden" name="page" value="search" /><br />
Avatar billede keysersoze Guru
18. november 2006 - 11:56 #6
men hvorfor er det egentlig så vigtigt at det står i adressen?
Avatar billede delphin Nybegynder
18. november 2006 - 12:00 #7
ahh - ja, selvfølgelig, sådan:

<form class="hcenter" name="myform" action="main.php" method="get">
<input type="hidden" name="page" value="search" />
<input type="text" name="searchstring" size="50" maxlength="200" value="" /><br />
<input type="submit" value="SØG" />
</form>

bare fordi er synes det er mere elegant - og så fordi man så kan trykke tilbage uden at browseren spørger om den skal "post" igen

Mange tak for svaret :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester