Heb op een andere site een scriptje gevonden, waarmee bij selectie in een form automatisch een bepaalde waarde wordt opgeteld.
Maar ben helaas een beetje een JS-newbie.
Mijn bedoeling is dat de som wordt weggeschreven wordt naar een hiddenfield om bij het verzenden meegestuurd te worden.
Probleem hoe krijg ik die som tevoorschijn in dat hiddenfield?

hier volgt het scriptje:
<script language="JavaScript" type="text/JavaScript">
function telop(hoeveel) {
var startbedrag = parseFloat(0);
var som = startbedrag + parseFloat(hoeveel);
document.forms['lidmaatschap'].elements['totaalbedrag'].value = som;
}
</script>

Bij <select> komt er dan
<option value=\"$artikel\" onblur=\"telop('$bedrag')\">

en $bedrag is dan bvb € 5,00.

ben ik duidelijk?
Even er van uit gaande dat dit:
<?
document.forms['lidmaatschap'].elements['totaalbedrag'].value = som;
?>
Het hidden field is.

Voeg daaronder toe:
<?
document.forms['lidmaatschap'].elements['totaalbedrag'].style.visibilty = visible;
?>
ik dacht het zo te doen, maar weet niet hoe ik value ingevuld moet krijgen.

<input name="totaalbedrag" type="hidden" value="">

effe ter verduidelijking: elke keer de bezoeker een artikel bijkiest, moet het bedrag van dat artikel bij $totaalbedrag geteld worden.
Het invoegen is blijkbaar al gelukt. document.forms['lidmaatschap'].elements['totaalbedrag'].value zou moeten werken (al is het wel wat ouderwets, maar goed)

Wil je het hidden veld zichtbaar maken, dan heb je 2 mogelijkheden. Of je verandert het type, of je maakt er standaard al een text-veld aan, en verbergt het met css.

var totaalElement = document.forms['lidmaatschap'].elements['totaalbedrag'];
manier 1:
totaalElement.type = 'text';
<input type="hidden" name="totaalbedrag"/>
manier 2:
totaalElement.style.display = 'block';
<input type="text" name="totaalbedrag" style="display: none"/>

Willem-Jan maakt hier trouwens 2 foutjes. Een input-element van het type 'hidden' is niet onzichtbaar dankzij zijn visibility, maar dankzij de eigenschappen van een 'hidden' element, namelijk dat deze niet gerenderd wordt. Er valt niets aan weer te geven. En hij vergeet 'visible' als string op te geven, dus tussen quotes. Nu is het een variabele.

edit: hoe kwam ik nou bij Sebastiaan?
Om even erop terug te komen...
  • [item]Ik heet Willem-Jan :P[/item]
    [item]Ik las iets te snel, waardoor ik bij hiddenfield dacht aan visibility:hidden, ipv type=hidden...[/item]
    [item]En inderdaad die quotes, was iets te snel... Dan nog slordig foutje :$[/item]

Fouten maken hoort erbij. Daarom ben ik er, kan ik je verbeteren, muhahaha :) Jan maakt nu hopelijk die fouten niet meer.

* heb ik toch nog wat te doen *

Reageren