webForumDet fria alternativet

Checkboxar onclick och summering?

9 svar · 690 visningar · startad av Alamartimo

AlamartimoMedlem sedan okt. 2004129 inlägg
#1

Hejsan!

Har 4 checkboxar som användaren kan klicka i.

Jag har en uträkning som görs från en tabell först och checkboxarna får tal som värde.

Nu vill jag att när användaren klickar i checkboxen så ska värdena sumeras längre ner på sidan. Utan att jag skickar iväg data. Utan bara en uppdatering när checkboxen är ikryssad.

Jag har försökt med Onclick men får inte det att fungera.

<input type="checkbox" name="rchassi" onClick="" value="<%= intCostChassi %>">

Jag gör det här med ASP och MySQL..

Tacksam för hjälp :)

nitro2k01Medlem sedan aug. 20037 630 inlägg
#2

onclick stavas med små bokstäver (gemener) men det bör fungera ändå. Du vill alltså ha en rutin för att summera innehållet i formuläret?

AlamartimoMedlem sedan okt. 2004129 inlägg
#3

nitro2k01

Jag vill summera de checkboxar som användaren kryssar i (på samma sida så användaren ser totalsumman för det han kryssat i) innan formuläret skickas till nästa sida.

Jag kanske var lite otydlig :)

nitro2k01Medlem sedan aug. 20037 630 inlägg
#4

Och det måste alltså ske direkt när kryssrutan kryssas för, och inte när man klickar på en speciell knapp?

jawbreakerMedlem sedan jan. 2003294 inlägg
#5

Såhär skulle man kunna summera värdet för alla ikryssade checkboxar på sidan (oavsett hur många de är). Om det finns checkboxar på sidan som inte ska vara med i beräkningen så måste koden naturligtvis modifieras lite...

function calcSum( p_form )
{
	var sum = 0;

	for ( var i = 0; i < p_form.elements.length; i++ )
	{
		if ( p_form.elements[i].type == "checkbox" && p_form.elements[i].checked )
			sum += parseFloat( p_form.elements[i].value );
	}

	document.getElementById( "totalSum" ).innerHTML = "Summa: " + sum;
}

...

<input type="checkbox" name="rchassi" onclick="calcSum(this.form);" value="<%= intCostChassi %>"> Alternativ 1<br>
<input type="checkbox" name="dummy" onclick="calcSum(this.form);"> Alternativ 2<br>

<div id="totalSum"></div>
AlamartimoMedlem sedan okt. 2004129 inlägg
#6

nitro2k01:

Japp när man kryssar i rutan.

jawbreaker:

Ska testa din variant lite senare här. Återkommer :)
Jag har 2 separat formulär på sidan med 2 olika submit buttons.
Så det borde funka utan någon modifiering av din kod.

AlamartimoMedlem sedan okt. 2004129 inlägg
#7

jawbreaker:

Jag får ett felmeddelande på din kod:

Rad 78
Fel: 'document.getElementById(...)' är null eller inte ett objekt

Jag kollar vidare här så länge
:)

jawbreakerMedlem sedan jan. 2003294 inlägg
#8

Hur ska du presentera summan som räknas fram? Som det är i mitt exempel så försöker koden skriva summan till en div.
Om du kollar min kod så finns följande lilla snutt:

<div id="totalSum"></div>

Du saknar förmodligen den i din HTML-kod..?

AlamartimoMedlem sedan okt. 2004129 inlägg
#9

Äsch då :)

Hade fel i starten av scriptet :r

<script type="text/javascript">

Tack för hjälpen jawbreaker Funkade utmärkt ju :e

nakozMedlem sedan dec. 1999570 inlägg
#10

jag är ute efter nästan samma grej, men istället för att den summerar value't på checkboxen så skulle jag vilja att den bara lägger in hur många checkboxar som är i-bockade, eller ännu hellre, hur många som återstår innan han är klar.

Jag gör nämligen en sida där kunden väljer på sida1 hur många "sektioner" denne har idag och skickar sen det värdet till sida2 där denne ska bocka i: querystring x16 = antal boxar. Då vill jag ha en räknare som räknar ner, men jag lyckas inte modda detta och få det att fungera. Hjälp tack =)

Genererad på 378 ms · cache AV · v20260730165559-full.f96bc7eb