[VBS] Lange objectnamen via var aanroepen

Pagina: 1
Acties:

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
Ik kon ff niet bepalen of dit nou in P&W of W&G thuis hoort!

Ik weet niet of de topictitel duidelijk is, maar ik heb eigenlijk geen idee hoe je dit moet omschrijven. Ik ga ff uitleggen wat ik precies bedoel.

Ik heb dus een applicatie geschreven in HTML/ASP met daarin include bestanden van JavaScript (lib.js) en VBScript (lib.vbs). Nu heb ik in mijn javascript heel veel code eenvoudiger gemaakt door bijvoorbeeld het volgende te doen:

JavaScript:
1
2
3
4
5
6
7
8
9
10
function PDVerwijderItem(FrameName, FormName, SelectBox, ItemNr) {
    parent.frames[FrameName].window.document.forms[FormName].elements[SelectBox].source.options[ItemNr]=null;
}

veranderd in:

function PDVerwijderItem(FrameName, FormName, SelectBox, ItemNr) {
    source = parent.frames[FrameName].window.document.forms[FormName].elements[SelectBox];
    source.options[ItemNr]=null;
}

Dus de onderste functie is toch een stuk makkelijker, zeker als je vaker in 1 functie het zelfde item aan moet roepen! Nu gaat dit perfect in JavaScritp, maar hoe moet ik dit nou aanpakken in VBScript. Ik heb een stukje code waarin een hoop textboxen ingelezen en veranderd enzo moeten worden.

Ik spreek ze nu in mijn VBScript zo aan:
Visual Basic:
1
2
3
4
Function UurAlleVeldenNaarValuta()
    window.document.TijdlijstToevoegen.TotaalKosten.value = NaarValuta(window.document.TijdlijstToevoegen.TotaalKosten.value)
    window.document.TijdlijstToevoegen.OnkostenTeVergoeden1.value = NaarValuta(window.document.TijdlijstToevoegen.OnkostenTeVergoeden1.value)
End Function

Maar als ik hier dus van maakt:
Visual Basic:
1
2
3
4
5
Function UurAlleVeldenNaarValuta()
    Tijd = window.document.TijdlijstToevoegen
    Tijd.TotaalKosten.value = NaarValuta(Tijd.TotaalKosten.value)
    Tijd.OnkostenTeVergoeden1.value = NaarValuta(Tijd.OnkostenTeVergoeden1.value)
End Function

En ik run het, dan krijg ik de volgende foutmelding:
Deze eigenschap of methode wordt niet ondersteund door dit object: 'Tijd.TotaalKosten'

Hoe moet ik dit nou oplossen in VBScript?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

ik vermoed omdat je moet zeggen:
Set Tijd = window.document.TijdlijstToevoegen

kaart != map && bottel != fles
Wacht op antwoord


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 19-05 14:10
j_du_pee schreef op 30 januari 2004 @ 09:25:
ik vermoed omdat je moet zeggen:

[...]
Ik ben even wat vergeten te vermelden:
Als ik IN de functie het doet met Set xxx dan werkt 't wel, maar ik heb een hele berg functies waarin ik echt heel veel het zelde formulier moet aanroepen.

Nu dacht ik dus dat ik dan buiten de functie die Set xxx neerzet, dat werkt dus (uiteraard) niet.

Als ik binnen elke functie die Set xxx aanroept, dan lukt het wel!

Is het nog mogelijk om de Set xxx standaard te maken, dus dat ik binnen de gehele lib.vbs de functie/var/wathever aan kan roepen?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!