[JS] Omzetten ?string naar vars

Pagina: 1
Acties:

  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

Topicstarter
Ik ben wat aan het experimenteren op basis van de volgende topic:
Meedere imagefields met verschillende waarde in 1 form

bosmonsters tip++ heb ik geprobeert uit te werken met alleen JS.
(mijn server ondersteund geen server-side taal).

Ik heb nu dit:

Eerste pagina(pagina1.html):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Mooie titel</title>
</head>
<body>

<form name="formpie" method="get" action="pagina2.html">
  <input name="input1" type="text" value="waarde 1">
  <input name="input2" type="text" value="waarde 2"><br>

  <textarea name="text1" rows="3" cols="10">bla bla - bla bla</textarea><br>

  <input name="button1" type="image" src="mannetje.gif" onclick="submit()"></button>
  <input name="button2" type="image" src="mannetje.gif" onclick="submit()"></button>
</form>

</body>
</html>

Tweede pagina(pagina2.html):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>pagina2</title>
<script type="text/javascript">
<!--
function haalop(){
  var doorgegeven = unescape(location.search.substring(1)).split('&');
  for (i=0;i<doorgegeven.length;i++){
    var variabele=doorgegeven[i].split('=')[0];
    var waarde=doorgegeven[i].split('=')[1].replace(/\+/g,' ');
    if(variabele.search(/\./)==-1){
      eval('var '+variabele+'="'+waarde+'";');
    }
    else if (variabele.search(/\.x/)!=-1){
      var gedrukt=variabele.substring(0,variabele.search(/\./));
    }
  }
  alert('Op de vorige pagina\n'+
           '- is er is op button met name="'+gedrukt+'" gedrukt en\n'+
           '- kreeg de input met name="input1" de value="'+input1+'"' );
}
// -->
</script>
</head>
<body onload="haalop()">
<a href="pagina1.html">terug</a>
</body>
</html>

Dit werkt, voor zover ik het kan testen, maar ik verwacht dat er een kortere/simpelere/betere manier is om de input-fields op de tweede pagina in vars te krijgen (var name="value";). Over het gebruik van eval() ben ik ook niet tevreden.
Ik kom er echter even niet verder mee.
Ik hoop dat iemand me kan helpen aan ideeen om dit script te verbeteren?

Enne dit schijnt gebruikelijk te zijn voor newbies op dit forum: ;)
Meerdere Google pogingen en gezoek in mijn JS boeken hebben tot nu toe niet geholpen.

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

Bosmonster

*zucht*

Zelf gebruik ik altijd dit simpele scriptje:

PHP:
1
2
3
4
5
var tmp=unescape(location.search.substr(1));
var args=new Array();
for(var i=0;i<tmp.split("&").length;i++){
    args[tmp.split("&")[i].split("=")[0]]=tmp.split("&")[i].split("=")[1];
}


geeft je args[] Array. Kort maar krachtig :)

  • whitey-d
  • Registratie: April 2000
  • Laatst online: 08-08 19:24
kun je niet i.p.v. GET een POST doen? (of stel ik een domme vraag hiermee)

“Advertising says to people, 'Here's what we've got. Here's what it will do for you. Here's how to get it.'”


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

Bosmonster

*zucht*

PHP:
1
2
  <input name="button1" type="image" src="mannetje.gif" onclick="submit()"></button>
  <input name="button2" type="image" src="mannetje.gif" onclick="submit()"></button>


Dis beetje vage html trouwens.. kan wel weg.. en onclick="submit()" ook, want een type="image" is al een submitknop.

(Sorry van vern**ken layout, maar html-rechten in combinatie met [ code] tags werkt nog niet helemaal lekker, vandaar de php-tag)

  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

Topicstarter
Bosmonster:
Hier ga ik verder even mee stoeien.
</button> kan weg heb je bedoelt, zo te zien bij een quote.
HTML-kit plaatst hem echter, wenselijk of overbodig? :?

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

Bosmonster

*zucht*

uhh ja.. dat bedoel ik (html-rechten wordt je ook niet altijd vrolijk van :P).. nee is gewoon overbodig.. doet niks.
Pagina: 1