Toon posts:

JAVASCRIPT variab.doorgave na refresh

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil mbv een submit in een form mijn html-pagina kunnen refreshen, maar ik wil de inhoud van mijn variabelen WEL behouden.

Hoe kan ik dit in godsnaam voor elkaar krijgen? Iemand die me kan helpen :?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:13

crisp

Devver

Pixelated

cookie?

Intentionally left blank


Verwijderd

Hidden frame?

Of anders de pagina reloaden met je variablen als naam/waardeparen achter je URL:
code:
1
2
document.location = "newpage.html?"+"myvar1="+myvar1+"&myvar2="+myvar2;
etc...

Dan kun je ze in de andere pagina met document.location.search weer uitlezen en evalueren
ongeveer zo:
code:
1
2
3
4
5
var the_search = document.location.search.split('&');
// nu hou je een Array over :["myvar1=5",myvar2=6",etc...]
for(var i=0; i<the_search.length; i+=2) {
    eval("var "+the_search[i]);
}

Zou moeten werken...

Verwijderd

Topicstarter
werkt inderdaad mooi, maar niet perfect :'(

Ik krijg namelijk het volgende in mijn array:

the_search[0] == "myvar1=text1"
the_search[1] == "myvar2=text2"
the_search[2] == "myvar3=text3"
...en ga zo maar verder...

ik wil graag dat in de array alleen "text1","text2","text3","text..." staat

:? Wie kan me hierbij nog helpen :?

(Ik zit al een heleboel uurtjes hiermee te klooien |:()

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Question: Can I pass parameters from one my page to another?

Answer: Yes, you can pass a parameter to another page in several different ways:

> by storing the parameter in a cookie
> by storing the parameter in a variable of another window or frame
> by storing the parameter in the rewritable property top.name (the browser window name)
> by appending the parameter to the destination page's URL as a query string
en om de waarde uit te lezen van een name, value pair:
code:
1
waardeThe_search0 = The_search[0].substring(The_search[0].indexOf('='),The_search[0].length);

Verwijderd

Topicstarter
ok dankje, maar wat nou als ik 10000 waarden in mn array heb staan?? Kan het niet wat effectiever (nieuwe array of zo???)

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Tuurlijk kan dat ..

Ik denk dat je dan het beste met een for-loop kan gaan werken.
code:
1
2
3
for (var i = 0; i < The_search.length; i++) {
    The_search[i] = The_search[i].substring(The_search[i].indexOf('=')+1,The_search[i].length);
}

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

code:
1
2
3
4
5
6
var tmp=this.location.href;
tmp=tmp.substr(tmp.indexOf("?")+1,tmp.length);
var args=new Array();
for(var i=0;i<tmp.split("&").length;i++){
    args[tmp.split("&")[i].split("=")[0]]=unescape(tmp.split("&")[i].split("=")[1]);
}

Die werkt tenminste in alle browsers (IE kan er OFFLINE wat problemen mee hebben maar goed)..

variabelen krijg je terug als
args["naam"]="piet"

Verwijderd

Topicstarter
In elk geval al bedankt voor jullie reacties.. *D

Het moet juist voor IE offline werken dus die laatste zal ik dan maar niet gebruiken...

de andere optie heb ik 'goed' werkend.. ik krijg nu als resultaat:

the_search[0]== "=text1"
the_search[1]== "=text2"

Nu wil ik graag het =-teken nog kwijt... ik ben zo'n newbie, dus kan je/iemand me er nog mee helpen :?

Verwijderd

Topicstarter
Voor de duidelijkheid.. dit is wat ik nu heb:

<script language="javascript">
var the_search = document.location.search.split('&');
for(var i=0; i<the_search.length; i++) {
the_search[i] = the_search[i].substring(the_search[i].indexOf('='),the_search[i].length);
}

document.write("keyword " + the_search[0]);
document.write("<br>")
document.write("sort by " + the_search[1]);

</script>

Verwijderd

Topicstarter
lama, heb het zelf uitgevonden... :) ik dank jullie allen, met name robert
Pagina: 1