Avatar billede skildpadden Nybegynder
17. marts 2004 - 12:37 Der er 7 kommentarer og
2 løsninger

Hente værdi fra querystring

Kan man via et javascript hente værdien fra en querystring?
Avatar billede nute Nybegynder
17. marts 2004 - 12:39 #1
var strQueryString = document.location.search;
strQueryString = strQueryString.substr( strQueryString.indexOf( "?" ) + 1 );
var arrParams = strQueryString.split( "&" );
for( i = 0; i < arrParams.length; i++ )
{
    var arrKeyValue = arrParams[ i ].split( "=" );
    alert( arrKeyValue[ 0 ] + " = " + arrKeyValue[ 1 ] );
}

/nute
Avatar billede skildpadden Nybegynder
17. marts 2004 - 12:41 #2
hvis jeg f.eks. har adressen http://www.abc123.dk?Felt1=123&Felt2=abc

- og jeg så skal have scriptet til at læse Felt1 og Felt2 og herefter indsætte det i et text felt i en form...

Kan du også hjælpe her? :)
Avatar billede nute Nybegynder
17. marts 2004 - 12:47 #3
selvfølgelig kan jeg hjælpe også her ... jeg er da multipurpose ;o]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
   
    function init()
    {
        var strQueryString = document.location.search;
        strQueryString = strQueryString.substr( strQueryString.indexOf( "?" ) + 1 );
        var arrParams = strQueryString.split( "&" );
        for( i = 0; i < arrParams.length; i++ )
        {
            var arrKeyValue = arrParams[ i ].split( "=" );
            if( document.getElementById( arrKeyValue[ 0 ] ) )
            {
                document.getElementById( arrKeyValue[ 0 ] ).value = arrKeyValue[ 1 ];
            }
        }
    }
    //-->
    </script>
</head>

<body onload="init();">
<form id="frm">
<input type="text" id="Felt1" name="Felt1"><br>
<input type="text" id="Felt2" name="Felt2">
</form>
</body>
</html>

/nute
Avatar billede thesurfer Nybegynder
17. marts 2004 - 12:49 #4
Eksempel:

<script type="text/JavaScript">
<!--
function hent()
{
streng = document.location.search;
felt1 = streng.substring(streng.indexOf("=") + 1, streng.indexOf("&"));
streng = streng.substring(streng.indexOf("&"));
felt2 = streng.substring(streng.indexOf("=") + 1);

document.FORMNAVN.FELTNAVN1.value = felt1;
document.FORMNAVN.FELTNAVN2.value = felt2;
}
//-->
</script>

<body onload="hent()">
<form name="FORMNAVN">
<input type="text" name="FELTNAVN1">
<input type="text" name="FELTNAVN2">
</form>

- Erstat FORMNAVN med navnet på din form.
- Erstat FELTNAVN1 og FELTNAVN2 med navnene på dine felter.
Avatar billede nute Nybegynder
17. marts 2004 - 12:53 #5
thesurfer >> en rimelig tung måde at gøre det på hvis der er flere parametre. Den er jo ikke særlig generisk

/nute
Avatar billede thesurfer Nybegynder
17. marts 2004 - 12:55 #6
nute> Det har du fuldstændig ret i :-)
Men nu så jeg  "?Felt1=123&Felt2=abc", dvs 2 stks.. det ville selvfølgelig være bedre at bruge din metode, hvis der er flere..
Avatar billede skildpadden Nybegynder
17. marts 2004 - 12:58 #7
Tak for hjælpen...

Smid lige et svar begge to... jeg kan nemlig bruge begge eksempler...
Avatar billede nute Nybegynder
17. marts 2004 - 13:01 #8
svar
Avatar billede thesurfer Nybegynder
17. marts 2004 - 13:19 #9
svar
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