Avatar billede sellko Nybegynder
29. januar 2004 - 17:40 Der er 16 kommentarer og
1 løsning

Flyt værdi til ny side med link?

Kan man flytte en værdi fra en side til en anden, kun ved brug af et tekst link?

Altså uden bruge af et input felt eller en knap.

Hvis jeg nu har en liste med produkter til salg, og jeg
ud fra hvert produkt har et tekst link:  "afgiv bud"

Kan jeg så trække en værdi over på en ny side via klik
på tekst linket sådan at jeg får produktnavnet med over.

Evt. ved brug af hidden input felter eller lign.

Det er bare vigtigt at det er et tekstlink man skal
klikke på.
Avatar billede dreamcode Nybegynder
29. januar 2004 - 17:51 #1
function queryString(key)
    {
        var value = null;
        for (var i=0;i<queryString.keys.length;i++)
        {
            if (queryString.keys[i]==key)
            {
                value = queryString.values[i];
                break;
            }
        }
        return value;
    }
    queryString.keys = new Array();
    queryString.values = new Array();
   
    function queryString_Parse()
    {
        var query = window.location.search.substring(1);
        var pairs = query.split("&");
       
        for (var i=0;i<pairs.length;i++)
        {
            var pos = pairs[i].indexOf('=');
            if (pos >= 0)
            {
                var argname = pairs[i].substring(0,pos);
                var value = pairs[i].substring(pos+1);
                queryString.keys[queryString.keys.length] = argname;
                queryString.values[queryString.values.length] = value;
            }
        }
   
    }


for at benytte dig af det, skal du så bare køre functionen: queryString_Parse();

og du kan herefter få fat i parametrene fra URL'en sådan her

var a = queryString("parameternavn");

-DC
Avatar billede sellko Nybegynder
29. januar 2004 - 17:53 #2
Jeg er sikker på at der virker, men det ser lidt langhåret ud for mig.
Kan du evt. lave et enkelt kodeeksempel.
Skal ovenstående kode stå på afsender eller modtager siden?

Skal der så et name="" ind i hvert link eller hvordan?
Avatar billede dreamcode Nybegynder
29. januar 2004 - 17:58 #3
Det skal stå på modtager siden ....

Eksempel: et text link peger på URL'en: http://www.test.com/index.htm?testVar=Hallo

på siden index.htm skal du så have følgende script

<script language="JavaScript">

onload = init;

function init()
{
  queryString_Parse();
  var a = queryString("testVar");
  alert(a);
  /* Her skal du jo så selv indsætte det du vil gøre med de variable */
}

function queryString(key)
    {
        var value = null;
        for (var i=0;i<queryString.keys.length;i++)
        {
            if (queryString.keys[i]==key)
            {
                value = queryString.values[i];
                break;
            }
        }
        return value;
    }
    queryString.keys = new Array();
    queryString.values = new Array();
   
    function queryString_Parse()
    {
        var query = window.location.search.substring(1);
        var pairs = query.split("&");
       
        for (var i=0;i<pairs.length;i++)
        {
            var pos = pairs[i].indexOf('=');
            if (pos >= 0)
            {
                var argname = pairs[i].substring(0,pos);
                var value = pairs[i].substring(pos+1);
                queryString.keys[queryString.keys.length] = argname;
                queryString.values[queryString.values.length] = value;
            }
        }
   
    }
</script>
Avatar billede sellko Nybegynder
29. januar 2004 - 18:05 #4
OK, nu kan jeg se fidusen, men er du ikke flink lige at skrive kode som hvis den bare skulle udskrive værdien i stedet for at lave en alert.

Det jeg vil frem til er noget lign:

Du har valgt at byde på:  [overført produkt]
Avatar billede dreamcode Nybegynder
29. januar 2004 - 18:11 #5
jamen hvis du nu på modtagersiden indsætter følgende:

<span style="font:menu;padding:5px;border: 1px solid #000000">Du har valgt at byde på: <span id="destination"></span></span>

også erstatter den linie med alerten med følgende:

document.getElementById("destination").appendChild(document.createTextNode(a));

så skulle den være tip top!

-DC
Avatar billede sellko Nybegynder
29. januar 2004 - 18:14 #6
Det er sgu kanon, tak for hjælpen!
Avatar billede dreamcode Nybegynder
29. januar 2004 - 18:20 #7
my pleasure!

-DC
Avatar billede sellko Nybegynder
29. januar 2004 - 18:32 #8
By the way, nu har jeg jo lukket.
Men hvad hvis jeg af en eller anden grund vil have
værdien ind i et input felt?
Avatar billede dreamcode Nybegynder
29. januar 2004 - 18:45 #9
så skal document.getElementById("destination").appendChild(document.createTextNode(a));

erstattes med

document.getElementById("idPåFormfeltet").value = a;

-DC
Avatar billede sellko Nybegynder
29. januar 2004 - 18:51 #10
Du er min helt :-)
Avatar billede dreamcode Nybegynder
30. januar 2004 - 16:17 #11
Kan du ikke lige acceptere svaret så jeg får mine point ?
Avatar billede sellko Nybegynder
30. januar 2004 - 16:40 #12
Klart
Avatar billede sellko Nybegynder
30. januar 2004 - 16:40 #13
Hmm, det virker åbenbart ikke i Mozilla!
Avatar billede sellko Nybegynder
30. januar 2004 - 16:42 #14
Der var den.
Avatar billede dreamcode Nybegynder
30. januar 2004 - 17:27 #15
fino ... ellers må du jo lige skrive igen, så skal jeg gerne lave en test i Moz
Avatar billede sellko Nybegynder
30. januar 2004 - 18:08 #16
Nej nej, det var ikke din kode. Det var det at acceptere et svar her på Eksperten der tilsyneladende først ikke virkede med Mozilla.
Avatar billede dreamcode Nybegynder
30. januar 2004 - 18:24 #17
aahhhhh

super!

-DC
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