webForumDet fria alternativet
Logga in / Bli medlem

'Aktivt' Formulär

JavaScript

2 svar · 283 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Trådstart#1

Hej

Sitter med ett 'Beställningsformulär' modell enklare.
Där finns 4 olika produter man kan göra som tillval, det är:

* Rörelsedetektor
* Magnetkontakt
* Brandvarnare
* Fjärrkontoll

Vid varje av dessa finns en rullista, som går mellan 0 - 9.
Det är alltså det antal man kan välja till 'sitt paket'.

Nu vill jag i en textruta visa Totalkostnad, denna ska uppdateras direkt när ngt ändras i de fyra rullisterna. Varje produkt har en kostnad, det är 50, 35, 50, 35 för resp vara.

Väljer man tex. 2 st brandvarnare, skall alltså 2x35 (70) kronor läggas på det totala. I det totala skall en fast avgift på 385kr. finnas medräknat.

Ja, ni förstår säkert hur jag menar. Tackar för den hjälp jag kan få, är ingen hejjare på javascript och påtok för trött för att sätta mig in i det nu ;)

Glöm nu inte att ställa om klockan ;)

Medlem sedan dec. 20025 483 inlägg
#2

Din förklaring till vilket pris som hör till vilken vara var litet tvetydigt. Eventuella felaktigheter reserveras därmed ;) :

<script type="text/javascript">

function calc(obj) {
    var s1 = obj.elements["detektor"],
	s2 = obj.elements["kontakt"],
	s3 = obj.elements["varnare"],
	s4 = obj.elements["kontroll"],
	v1 = s1.options[s1.selectedIndex].value * 50,
	v2 = s2.options[s2.selectedIndex].value * 35,
	v3 = s3.options[s3.selectedIndex].value * 50,
	v4 = s4.options[s4.selectedIndex].value * 35,
	val = v1 + v2 + v3 + v4;

    if (val > 0) val += 385;

    obj.elements["result"].value = val;
}

</script>

<form>
    Rörelsedetektor<select name="detektor" onchange="calc(this.form)">
	<option value="0">0</option>
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	<option value="6">6</option>
	<option value="7">7</option>
	<option value="8">8</option>
	<option value="9">9</option>
    </select>
    Magnetkontakt<select name="kontakt" onchange="calc(this.form)">
	<option value="0">0</option>
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	<option value="6">6</option>
	<option value="7">7</option>
	<option value="8">8</option>
	<option value="9">9</option>
    </select>
    Brandvarnare<select name="varnare" onchange="calc(this.form)">
	<option value="0">0</option>
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	<option value="6">6</option>
	<option value="7">7</option>
	<option value="8">8</option>
	<option value="9">9</option>
    </select>
    Fjärrkontroll<select name="kontroll" onchange="calc(this.form)">
	<option value="0">0</option>
	<option value="1">1</option>
	<option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	<option value="6">6</option>
	<option value="7">7</option>
	<option value="8">8</option>
	<option value="9">9</option>
    </select>
    <input type="text" name="result" value="0" readonly="readonly">
</form>

:)

Medlem sedan feb. 20034 441 inlägg
#3

Oj, tack ;)
Vilket himla svar, t.o.m en fullfjädrad färdig lösning på mitt problem.

Jag får tacka så mycket :D

252 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)