Avatar billede md_craig Nybegynder
23. november 2003 - 17:32 Der er 17 kommentarer og
1 løsning

Brug af "QueryStrings" i JavaScript ?

Ja... kan man som i server side script sprog anvende en form for "QueryStrings" ???

Altså således at hvis man går ind på:

Index.html?navn=Erik Hansen

Så kan man få den til at skrive "Hej Erik Hansen" i selve dokumentet ???

Nu har JS aldrig været min stærke side, ganske enkelt fordi jeg aldrig har brugt det...

Men et lille eksempel der henter vværdien af navn ud i en variabel navn... og så bare udskriver den bag efter...

Så tror jeg jeg har det jeg skal bruge for at komme videre...
Avatar billede roenving Novice
23. november 2003 - 17:37 #1
Qurystring finder du i javascript med location.search (som indeholder alt fra ? og videre !-)

Så hvis du bare har een parameter kan du:

<script type="text/javascript">
txt=location.search.substring(location.search.indexOf("navn=")+5)
document.write("Hej " + txt);
</script>

-- har du flere parametre, skal den først splittes mht. ;
Avatar billede RJFreelance Praktikant
23. november 2003 - 17:38 #2
Ja..

Tror bare dte er osm en almindelig  variabel i JS..

altså
dokument.write(navn);

Men er ikke sikker.. Men test det da.
Avatar billede RJFreelance Praktikant
23. november 2003 - 17:39 #3
Ja ok.. Det var ikke helt sådanne ;)
Avatar billede grunken Nybegynder
23. november 2003 - 17:39 #4
<script type="text/javascript">
str = document.location.toString().split("?")[1];
str = str.split("=")[1]
alert(str);
</script>
Avatar billede roenving Novice
23. november 2003 - 17:43 #5
>>grunk

En del nemmere at skrive:

location.search.substring(1)

-- hvilket giver samme resultat som din !-)
Avatar billede grunken Nybegynder
23. november 2003 - 17:46 #6
okay ;), roenving har aldrig brugt den, og kendte den derfor heller ikke ;)
Avatar billede roenving Novice
23. november 2003 - 17:51 #7
-- det hjælper at have en god reference !o]

(JavaScript Bible, 4th edition, Danny Goodman 2001!-)
Avatar billede grunken Nybegynder
23. november 2003 - 17:54 #8
roenving >

got it ;D, det var min første bog, næst efter phpbiblen :)
Avatar billede md_craig Nybegynder
23. november 2003 - 17:54 #9
roenving >>>

Får nok ikke brug for flere parametre... men tror at jeg fatter pointen.. med undtagelse af hvorfor du skriver +5 i:

txt=location.search.substring(location.search.indexOf("navn=")+5)

Ville være rart med en forklaring...
Avatar billede roenving Novice
23. november 2003 - 17:59 #10
Det er længden af 'navn=' !-)

-- og hvis du har flere parametre kan den klares nemt sådan:

txt=location.search.substring(location.search.indexOf("navn=")+5,location.search.indexOf(";"))
Avatar billede roenving Novice
23. november 2003 - 18:01 #11
Øeh, en mindre fejl ;-{

st = location.search.indexOf("navn=");
txt=location.search.substring(st+5,location.search.indexOf(";"),st);
Avatar billede roenving Novice
23. november 2003 - 18:02 #12
Øv ...

txt=location.search.substring(st+5,location.search.indexOf(";",st));
Avatar billede md_craig Nybegynder
23. november 2003 - 18:11 #13
Jeps da... Men så må du også godt lige smdie et svar Roenving...
Avatar billede md_craig Nybegynder
23. november 2003 - 18:13 #14
Så hvis vi ikke har flere... så er det +5 irrelevant ???
Avatar billede md_craig Nybegynder
23. november 2003 - 18:13 #15
nop....
Avatar billede md_craig Nybegynder
23. november 2003 - 18:14 #16
Nu forstår jeg det +5....
Avatar billede roenving Novice
23. november 2003 - 18:15 #17
Velbekomme '-)
Avatar billede roenving Novice
23. november 2003 - 18:18 #18
-- og tak for points ;~}
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