Toon posts:

[VBscript] Dynamische form waarden.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik ben nieuw hier op het forum en ik heb een vraag waarvan ik hoop dat jullie het antwoord weten.

Ik heb een formulier voor een webwinkel, het formulier heeft een 5tal velden.

Productid, Productnaam, Aantal, Prijs, Totaalprijs.

De eerste 2 waarden en de prijs worden uit een msdatabase opgehaald. En de gebruiker kan zelf het aantal invullen. Wat ik nu wil is dat als de gebruiker bijv. als aantal 10 invult, dat dan in het veld totaalprijs automatisch de totaalprijs komt te staan.
Dit moet met VBscript en ASP gebeuren omdat ik geen gebruik mag maken van andere scripttalen.

Weet iemand hoe ik dit moet doen?

Alvast bedankt,

Arnaud.

  • Max|Burn
  • Registratie: Augustus 2001
  • Laatst online: 08:07

Max|Burn

-- .. ... .--- .- .-.-.-

ehm.... aantal x prijs...? :D

ma ma ma ma ma macron one


  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Je zal dat toch met javascript of client-side VB script moeten doen. Je wilt nl. niet iedere keer je pagina terug submitten als je iets aanpast.
Je zal dus een eventhandler van je textbox moeten gebruiken; iedere keer als je de textbox verlaat, moet je de waarde aanpassen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ja zoiets had ik in gedachten, maar ik weet niet hoe ik het moet maken, daar zit het probleem, dan zou ik met onchange oid moeten gaan werken.
Kan het niet zo zijn dat de ene waarde afhankelijk is van de ander, zodat ik niet eens het input veld hoef te verlaten?

Ik ben pas net begonnen met VBscript dus misschien zeg ik dingen die niet mogelijk zijn, neem me niet kwalijk.

Kijk zoiets als dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<form name="form1" method="post" action="">

    <input type="text" name="textfield" onBlur="verander()">
    <input type="text" name="textfield2">
    <input type="hidden" name="hiddenField">

    <input type="submit" name="Submit" value="Submit">
</form>

<script language="vbscript">
<!--
Function verander
Dim totaal
totaal = Document.form1.textfield.value * 2 
Document.form1.textfield2.value = totaal
End Function
-->
</script>

[ Voor 40% gewijzigd door Verwijderd op 23-12-2003 11:19 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
er zijn via google genoeg manieren te vinden om dit te doen met javascript, ik zou zelf niet aan vbscript beginnen, heb rare dingen zien gebeuren met apple browsers die vbscript pagina's openden


mmm, heb zelf vrij recent een scriptje gemaakt voor een webshopje...

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
// waarde totaalprijs en aantal valideren
function valAantal(waarde, maxwaarde, stukprijs){
    stukprijs = stukprijs.replace(',', '.');
    
    if(Math.round(waarde)>Math.round(maxwaarde)){
        alert('U heeft meer artikelen opgegeven dan er op voorraad zijn.');
        document.forms['frm_bestel'].elements['aantal'].value = maxwaarde;
        }
    
    y = afronden(document.forms['frm_bestel'].elements['aantal'].value * stukprijs);
    
    x = document.getElementById('totaalprijs');
    x.innerHTML = '&euro;&nbsp;' + y.replace('.', ',');
    }

// waarden afronden
function afronden(n) {
  var s = "" + Math.round(n * 100) / 100
  var i = s.indexOf('.')
  if (i < 0) return s + ",00"
  var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3)
  if (i + 2 == s.length) t += "0"
  return t
}

[ Voor 70% gewijzigd door faabman op 23-12-2003 11:23 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

Topicstarter
FvKnijff schreef op 23 december 2003 @ 11:19:
er zijn via google genoeg manieren te vinden om dit te doen met javascript, ik zou zelf niet aan vbscript beginnen, heb rare dingen zien gebeuren met apple browsers die vbscript pagina's openden
Zoals ik al zei, ik mag alleen VBscript gebruiken.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<script language="vbscript">
<!--
Function verander()
Dim totaal
If Document.form1.textfield.value = "" Then
totaal = 0
Else
totaal = Document.form1.textfield.value * 2 
Document.form1.textfield2.value = totaal
End If
End Function
-->
</script>


Dit werkt al beter maar nog steeds niet helemaal ok.
Wat kan ik daar nog aan verbeteren?

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Verwijderd schreef op 23 december 2003 @ 11:23:
[...]
Zoals ik al zei, ik mag alleen VBscript gebruiken.
Mag ik weten waarom, bij mijn weten is javascript de taal die door ALLE browsers wordt ondersteund en geeft vbscript nogal eens problemen (correct me if i'm wrong)...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

Topicstarter
Tuurlijk mag je weten waarom :) Het is een opdracht voor school en het is ons simpelweg verboden. Ik hoorde al van veel anderen dat javascript veel beter is, zelfs van de leraren. Het gaat erom dat we eerst 1 taal onder de knie krijgen, het is mijn eerste jaar :)

code:
1
stukprijs = stukprijs.replace(',', '.');


Kan je mij vertellen wat dat stukje code doet? Vervangt die gewoon de , met een . ?

En hoe kan dat in VBscript, want dat was toch javascript als ik het goed heb?

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Het gaat er niet om om een taal onder de knie te krijgen, het gaat erom om het programmeren onder de knie te krijgen.

Wat dat stukje code doet, kan je ook zelf wel in de help (MSDN) opzoeken. Wat het equivalent is in VBScript, kan je ook zelf opzoeken in de help. (Ook dat is programmeren: zelf zoeken in de help. ;) )

https://fgheysels.github.io/


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
mmm, zo'n vermoeden had ik al... tsja, ik heb me eigenlijk nog nooit in clientside vbscript verdiept, dus dat antwoord moet ik je verder schuldig blijven, maar op msdn is ongetwijfeld een heleboel info te vinden mbt clientside vbscript...

en om antwoord te geven op je vraag, ja, das de manier om het puntje wat javascript in zijn 'double' getallen trapt te vervangen door een komma...

edit:

ik weet niet wat voor opleiding je volgt, maar normaalgesproken wil het ook wel eens helpen de methode te gebruiken die het beste werkt en tegenover je docenten te beargumenteren waarom je die methode hebt gebruikt.

in dit geval zou browsercompatibaliteit imho een sterk argument zijn (zoals whoami al zegt, het gaat niet om het leren van een taal, maar om het leren programmeren, talen verdwijnen, programmeren niet....)

[ Voor 38% gewijzigd door faabman op 23-12-2003 11:36 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

Topicstarter
Ja daar heb je idd gelijk in en dat hebben we ook geprobeerd. Misschien zal ik eens kijken wat er met javascript mogelijk is en dit voorleggen aan de docent.

Ik ben iig weer een stuk verder. Bedankt allemaal :D voor jullie snelle reacties.

Als ik weer een keer een vraag heb zal ik hem zeker hier stellen.

Hardstikke bedankt ;)
Pagina: 1