Toon posts:

gegenereerde variabelenaam gebruiken in jscript

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi
Ik heb een lastig probleem. In javascript heb ik de naam van een veld gegenereerd en hier wil ik weer mee verder werken. Iets zoals dit:
code:
1
2
bla = "1"
var deStraat = "straat" + bla

Nu wil ik uit mijn formulier de waarde hebben van het veld met als naam de waarde van 'deStraat', in dit geval dus de waarde van 'straat1'

Ok, ik weet ook dat het in dit voorbeeld veel makkelijker kan, maar in mijn toepassing kan dat niet.

Iets als
code:
1
document.forms[0].deStraat.value

werkt uiteraard niet omdat hij dan naar een veld zoekt met de naam 'deStraat', terwijl ik het veld met de naam 'straat1' zoek, oftewel de waarde van 'deStraat'. |:(
Snappen jullie hem nog? :?

alvast heel erg bedankt als iemand kan helpen

groeten
Niek

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 08:39
Op vrijdag 14 september 2001 17:54 schreef mentos het volgende:
Snappen jullie hem nog? :?
ik niet iig....

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • Yo-L
  • Registratie: December 2000
  • Niet online
Op vrijdag 14 september 2001 17:54 schreef mentos het volgende:
Nu wil ik uit mijn formulier de waarde hebben van het veld met als naam de waarde van 'deStraat', in dit geval dus de waarde van 'straat1'

Ok, ik weet ook dat het in dit voorbeeld veel makkelijker kan, maar in mijn toepassing kan dat niet.

Iets als document.forms[0].deStraat.value werkt uiteraard niet omdat hij dan naar een veld zoekt met de naam 'deStraat', terwijl ik het veld met de naam 'straat1' zoek, oftewel de waarde van 'deStraat'. |:(
Snappen jullie hem nog? :?
werkt iets als:
code:
1
2
3
4
for (var i = 0; i < aantalvelden; i++)
{
     var veldwaarde = document.forms[0].elements[i].value;
}

niet?

Verwijderd

Topicstarter
Op vrijdag 14 september 2001 18:01 schreef Yo-L het volgende:

[..]

werkt iets als:
code:
1
2
3
4
for (var i = 0; i < aantalvelden; i++)
{
     var veldwaarde = document.forms[0].elements[i].value;
}

niet?
Nee, want jij veranderd de waarde van veldwaarde nu steeds in een andere waarde. Daarnaast kan ik niet werken met elements[i], want ik weet niet hoeveelste veld ik moet hebben.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 21-09 21:55

Gerco

Professional Newbie

Javascript heeft toch ook eval() zoals php?
code:
1
eval("alert(straat"+"1"+".value)");

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Yo-L
  • Registratie: December 2000
  • Niet online
Op vrijdag 14 september 2001 18:05 schreef mentos het volgende:

[..]

Nee, want jij veranderd de waarde van veldwaarde nu steeds in een andere waarde. Daarnaast kan ik niet werken met elements[i], want ik weet niet hoeveelste veld ik moet hebben.
was ook maar opzetje, kunt natuurlijk de waarden in 'n array opslaan, maar goed, als je de plaatsen van de velden niet weet dan weet ik 't ook niet.. Heeft javascript wel eval()?

Verwijderd

Topicstarter
Op vrijdag 14 september 2001 18:09 schreef Gerco het volgende:
Javascript heeft toch ook eval() zoals php?
code:
1
eval("alert(straat"+"1"+".value)");
Hmm, ja klopt, had ik nog niet geprobeerd, maar het lukt me nog niet helemaal. Het volgende werkt iig niet:
code:
1
2
3
document.forms[0].eval("deStraat").value
document.forms[0].eval("deStraat.value").value
document.forms[0].eval(deStraat).value

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 21-09 21:55

Gerco

Professional Newbie

eval() voert de string uit alsof het gewoon in je script stond. Je kunt dus gewoon zoiets doen:
code:
1
2
3
var blaat;
eval("blaat=deStraat.value()");
alert(blaat);

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
Op vrijdag 14 september 2001 18:21 schreef Gerco het volgende:
eval() voert de string uit alsof het gewoon in je script stond. Je kunt dus gewoon zoiets doen:
code:
1
2
3
var blaat;
eval("blaat=deStraat.value()");
alert(blaat);
Ik heb wel zo'n beetje alle mogelijkheden met eval() geprobeerd. Als iemand misschien een ander idee heeft, of misschien kan iemand eval() toepassen in mijn voorbeeldje. Ik kom er niet uit. Thx

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

heb je
[code]
var nr = 5;
var blaat = eval("huis" + nr);
alert(blaat);
[code]
geprobeerd?

Verwijderd

Topicstarter
Op vrijdag 14 september 2001 19:56 schreef wasigh het volgende:
heb je
[code]
var nr = 5;
var blaat = eval("huis" + nr);
alert(blaat);
[code]
geprobeerd?
Hallo heb je wel gelezen waar het over gaat? Dit heeft toch helemaal niks met mijn vraag te maken. Ik weet ook wel wat de eval functie doet.
Toch bedankt hoor, maar hier heb ik weinig aan

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

idd foutgelezen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<head>
<SCRIPT language="javascript">
function show()
{
    bla = "1"
    var deStraat = "straat" + bla;
    alert(document.forms[0].elements[deStraat].value);
}
</SCRIPT>
</heaD>
<body>
<form>
<input type="text" name="straat1" value="hallo">
<a href="#" onClick="javascript:show()">link</a>
</form>
</body>
</html>

dit werkt bij mij, hopelijk is dit wat je wilt :?

Verwijderd

Topicstarter
aah, dit lijkt er goed op. Ik kan morgen pas proberen of het werkt. In ieder geval hardstikke bedankt.

Verwijderd

Topicstarter
yep het werkt
thx
Pagina: 1