Avatar billede nanna31 Praktikant
20. juli 2002 - 20:13 Der er 7 kommentarer og
1 løsning

link med variable

Hvis jeg laver følgende link:

<body>

<a href="nyt.htm?a=2&b=3">gå til nyt.htm</a>

</body>

- Hvordan kan jeg så anvende de medsendte variable i dokumentet nyt.htm ?
Avatar billede blue-dragon Nybegynder
20. juli 2002 - 20:15 #1
Det tror jeg ikke at du kan i HTML men det kan du i PHP
hvis det er PHP så kan du gøre følgende for at vise indholdet af dine variabler:

<?
echo "$a";
echo "<br>";
echo "$b";
?>

Det ville så resultere i :
2
3
Avatar billede hells Nybegynder
20. juli 2002 - 20:18 #2
og hvis du hellere vil bruge asp:
<%
Response.Write "a = " & Request.QueryString("a")
Response.Write "<br />"
Response.Write "b = " & Request.QueryString("b")
%>
Avatar billede nanna31 Praktikant
20. juli 2002 - 20:18 #3
Det må da kunne gøres uden serverside-scripting ?
Avatar billede agg-zeus Nybegynder
20. juli 2002 - 20:21 #4
Det tror jeg ikke ! Måske med JavaScript... Men det tror jeg næppe !?
Avatar billede jakoba Nybegynder
20. juli 2002 - 20:40 #5
du kan også i javascript. men det er en tand mere klupet end i serversprogene for du skal selv pakke parametrene ud:

i head:
<script type='test/javascript'>

var temp = self.location.href.split("?");
if ( temp.length > 1 ) {
    temp = temp[1].split("&");
    for (var i=0; i<temp.length ) {
        temp[i] = temp[i].split("=");
        self[ temp[i][0] ] = temp[i][1];
    }
};

// du kan nu teste om der var nogen parametre ved at sige:
if ( typeof a != "undefined" ) {
    alert( "a findes og har værdien "+a );
} else {
    alert( "der var ikke nogen a=<en værdi> parameter" );
}
// hvis du ved parameteren var der kan du hente
// den i varibelen med samme navn. men pas på,
// alle parametre tror de er tekststrenge nu så hvis du
// skriver:
var c = a + b;  // læhher 2 strenge sammen
alert( c );
// får du 23 (2 strenge efter hinanden)
// istedetfor 5 (to tal lagt sammen)
// så du må selv sørge for at talparametre virkelig bliver gemt som talt:
a = 1*a;  // gør a til et tal
b = 1*b;  // gør b til et tal
var c = a + b;  // lægger nu 2 tal sammen
alert( c );  // nu bliver resultatet korrekt = 5

</script>

mvh JakobA
Avatar billede nanna31 Praktikant
20. juli 2002 - 21:17 #6
Hvorfor virker dette ikke til at gribe de sendte variable ? - jeg behøver vel ikke tjekke for noget, når jeg ved, de er der ?

<html>
<head><title>nyt</title></head>
<body>
<script type="text/javascript">
if (a==2) { document.write("a er 2") } else
{ document.write("a er ikke 2") }
</script>
</body>
</html>
Avatar billede jakoba Nybegynder
20. juli 2002 - 21:27 #7
den første halvdel af scriptet ovenfor skal du have med. til at pakke parametrene ud af adresselinien. de bliver ikke oprettet automatisk.
Avatar billede nanna31 Praktikant
21. juli 2002 - 00:41 #8
ok - jeg prøver, tak for hjælpen :)
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