Autor Zpráva
Ohill
Profil *
Ahoj mohl by mi prosim nekdo jenom z rychla pomoci? Mam udelanou input kalkulačku, jenže jen na sčítání prvků, pro ilustraci:


<head>
   <script>calculate=function(totalElement)
   
{if(totalElement)
{var calculation='';var overall='';var fields=new Array();var theElement=document.getElementById(totalElement);var userInputs=myform.elements;var the_type='';for(var f=0;f<userInputs.length;f++)
{if(userInputs[f].className=='special_value')
{if(userInputs[f].type=='select-one')
{if(userInputs[f].options[userInputs[f].selectedIndex].value)
{fields[f]=userInputs[f].options[userInputs[f].selectedIndex].value;}
else
{fields[f]=0;}}
else if(userInputs[f].type=='radio'||userInputs[f].type=='checkbox')
{if(userInputs[f].checked)
{fields[f]=userInputs[f].value;}
else
{fields[f]=0;}}
else
{if(userInputs[f].value)
{fields[f]=userInputs[f].value;}
else
{fields[f]=0;}}}}
for(var i=0;i<fields.length;i++)
{calculation+=fields[i];if(i!=fields.length-1)
{calculation+='+';}}
if(calculation!='')
{overall=eval(calculation).toFixed(2);}
if(overall!='')
{theElement.innerHTML='Cena'+overall;}}}</script> 




</head>
<Body>
<form name="myform"> 

<select onchange="calculate('total');" name="price5" class="special_value"> 
<option value="0">Vyber</option> 
<option value="149">vec první</option>
<option value="109">vec druha</option> 
</select> 
<br />
<select onchange="calculate('total');" name="price5" class="special_value"> 
<option value="0">pridani veci treti</option> 
<option value="0">pridani veci ctvrte</option>
<option value="20">pridani veci pate</option>
 </select> 
<br />

<br/><br/><br/> 
<div id="total"></div> 


</form> 
</select> 
<br />


Potřeboval bych ale upravit cod tak, abych mohl pridat dalsi dropdown menu, ale ty by uz koncovou promenou nasobili, napriklad sleva 10% -> *0.9 jenye nevim si radz s upravenim kodu tak abych mohl pridavat krát. Poradi nekdo?

Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Moderátor Chamurappi: Tvůj projev je špatně srozumitelný, piš prosím normálně česky a s diakritikou.
Moderátor Chamurappi: Titulek „Calculator pridani *“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Sir Tom
Profil
Ohill:
Nestačilo by do funkce calculate() vložit kod:
var vysledek = (document.mujFormular.mujSelect.value + document.mujFormular.mujSelect2.value) * ((100-document.mujFormular.mujSelect3.value)/100);

a pak nechat vypsat promennou vysledek za pomoci innerHTML?
Druhy činitel je 100 minus výše slevy a vyděleno 100 - tzn. pokud bude sleva 100% tak se součet bude násobit číslem (100-100)/100 = nulou -> celková cena bude 0.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0