Avatar billede mranders Nybegynder
17. juli 2002 - 14:21 Der er 12 kommentarer og
1 løsning

"global" variabel

hvordan kan jeg få en variabel som bliver lavet i en funktion i head til at bliver der selvom man trykker på et link ?
Avatar billede ras2000 Nybegynder
17. juli 2002 - 14:38 #1
Du mener vel at overføre en variabel fra en side til en anden.
Du kan ikke oprette globale variabler i html. Det du kan gøre er at lave frames eller vinduer. Der kan du overføre variablerne. Ellers kan du overføre dem via search-strengen. Hvis du istedet for et link, laver følgende:
<div onclick="document.location.href='andenside.htm?varaibelnavn=' + variabelnavn">dette er et link</div>
så vil du kunne hive den frem i den nye side.
Avatar billede chriscross Nybegynder
17. juli 2002 - 14:49 #2
Rigtigt hvad ras2000 skriver, og hvis du vil have en variabel der blivet sat i en funktion med på QueryStrengen i et link skal du bare huske at erklære den ovenover din funktion så at den bliver global på siden:
<script>
var test;
funktion setTest(){
Avatar billede chriscross Nybegynder
17. juli 2002 - 14:52 #3
- prøver igen, jeg blev ikke færdig før, -kom til at trykke på noget...
>> fortsat:

function settest(){
  test = 5;
}
</script>
<body>
a href="testside.html?test='+test"
</body>

- så nu lykkedes det vist hvis i kan kæde dem sammen
;-)
Avatar billede mranders Nybegynder
17. juli 2002 - 14:55 #4
hvad gør de fx. her på eksperten med den boks med ens egen data og eksperten pro osv. den husker hele tiden om den skal være foldet ud eller ej ?
Avatar billede ras2000 Nybegynder
17. juli 2002 - 14:58 #5
Det er ikke javascript, men php. Du kan godt gemme globale variable i serverside scripting, som asp og php, men ikke clientside som javascript.
Avatar billede ras2000 Nybegynder
17. juli 2002 - 15:00 #6
De gemmer også de fleste af dataen i databaser.
Avatar billede mranders Nybegynder
17. juli 2002 - 15:01 #7
kan man få PHP og ASP til at reagere med det samme uden at reloade ?

måske forkert forum men forsætter bare tråden
Avatar billede nikolajdu Nybegynder
17. juli 2002 - 15:05 #8
1. Enten overfører du variablen via urlen til næste side.

<a href="#" onclick="self.location.href='minside.html?minVaribel='+minVariabel">

Så kan vi hive ud med lidt snilde igen.

eller endnu nemmere...

2. Smid en cookie...

/Nikolaj
Avatar billede ras2000 Nybegynder
17. juli 2002 - 15:10 #9
PHP og asp reagerer ikke som sådan, serveren får en forespørgsel fra en client, serveren strikker noget html sammen, som den så sender som asp-side. Hvis der skal ske noget dynamisk på den side skal det foregå med feks javascript.
Avatar billede mranders Nybegynder
17. juli 2002 - 15:14 #10
men der bliver sagt at menuen til venstre på eksperten er lavet i php, det hænger jo ikke helt sammen
Avatar billede nikolajdu Nybegynder
17. juli 2002 - 15:15 #11
nej nej. Boksene her på eksperten sætter en simpel cookie, der fortæller om de skal være åbnet eller lukkede.
Avatar billede chriscross Nybegynder
17. juli 2002 - 15:15 #12
nikolajdu >>
drop de cookies hvor det ikke er nødvendigt, det bliver alligevel er pokkers besvær når nu EU om lidt får gennemført det forbud mod bla. cookies uden "brugerens 'aktive' accept"
;-)
Avatar billede o-zone Nybegynder
18. juli 2002 - 09:36 #13
Jeg har vist postet denne metode før her på xperten, men jeg kan sku ikke lige finde den. :-)
Anyway, efter denne svada, så har du et array parametre indeholdende [parameter1Navn,parameter1Value,parameter2Navn...,parameterNValue]

og parametrene i urlen skal s'fø'lig skrives som:

http://www.minhjemmeside.dk/minhtmlfil.htm?parameter1Navn=parameter1Value&parameter2Navn=parameter2Value....ParameterNValue

Håber at du kan bruge det :-)

---8<----------
    var parametre = new Array();    getParametre();

    function getParametre()
    {
        if (window.location.search.length<1)
        {
            // no parameters = no actions!
        }
        else
        {
            var originParam = window.location.search;
            originParam = originParam.substring(1,originParam.length);
            var tmpParam = originParam;
            var tmpStr = "";
            var i=0; // counter for parametre array
           
            var ampPos = tmpParam.indexOf("&",1);
            while ((ampPos>-1)&&(i<60)) // allows max 30 parameters (to prevent nirvarna)
            {
                // tmpString = next parameter
                tmpStr = tmpParam.substring(0,ampPos);
                // save the parameter as name,value delimited by "=" (if no "=" then save parameter in first post, and "" in next)
                equalPos = tmpStr.indexOf("=",1);
                if (equalPos>-1) // parameter consists of name and value
                {
                    parametre[i++] = tmpStr.substring(0,equalPos);
                    parametre[i++] = tmpParam.substring(equalPos+1,tmpStr.length);
                }
                else // singelword parameter
                {
                    parametre[i++] = tmpStr;
                    parametre[i++] = "";
                }
               
                // cut off first parameter
                tmpParam = tmpParam.substring(ampPos+1,tmpParam.length);
                ampPos = tmpParam.indexOf("&",1);
            }
           
            // get last parameter
            equalPos = tmpParam.indexOf("=",1);
            if (equalPos>-1) // parameter consists of name and value
            {
                parametre[i++] = tmpParam.substring(0,equalPos);
                parametre[i] = tmpParam.substring(equalPos+1,tmpParam.length);
            }
            else // singleword parameter
            {
                parametre[i++] = tmpParam;
                parametre[i] = "";
            }
        }
    } // end getParametre()
---8<----------
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

IT-JOB

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

SAP-medarbejder til Roller & Autorisationer i Forsvarets Cyberdivision

Zealand Business College

Faglærer til Data/IT på ZBC i Ringsted

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-supporterelever til Lokal IT på Aalborg Kaserne