Autor Zpráva
Gondo
Profil *
Řeším formulář, který má do text. pole dosadit výsledek výpočtu, ale dost v tom plavu. Má to vypadat asi takto:
Jestliže je počet ks 1 pak cena=počet ks * cena výrobku + 40 za poštovné,
jestliže je počet ks 2 nebo 3 pak cena=počet ks * cena výrobku + 50 za poštovné,
jestliže je počet ks 4 až 6 pak cena=počet ks * cena výrobku + 60 za poštovné.

Zatím jsem se nedostal ani tak daleko, aby mi to přeneslo do políčka cena to poštovné. Asi na to jdu úplně blbě.
Může mě někdo postrčit správným směrem? Díky.


<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function calc(){
var pocetks = document.getElementByID('pocet');
if (pocetks == 1) document.getElementById('cena').value = '40';
else
if (pocetks==2 || pocetks==3) document.getElementById('cena').value = '50';
else
document.getElementById('cena').value = '60';
//-->
</script>
</head>
<body>
<form name="objednavka" method="post" action="">
počet:
<select name="pocet" id="pocet">
<option value="0" selected>Vyber</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>
</select>
<br>
cena:
<input name="cena" type="text" id="cena">
<br>
<input name="spocitat" type="button" id="spocitat" value="Spocitat" onClick="calc();">
</form>
</body>
</html>
Yuhů
Profil
var cenaVyrobku = 20; // dodělat políčko
function calc(){
var pocetks = document.getElementByID('pocet');
if (pocetks == 1) document.getElementById('cena').value = 40 + cenaVyrobku * pocetks;
else
if (pocetks==2 || pocetks==3) document.getElementById('cena').value = 50 + cenaVyrobku * pocetks;
else
document.getElementById('cena').value = 60 + cenaVyrobku * pocetks;
}
Gondo
Profil *
Díky! Jsem rád, že v té funkci jsem měl syntaxi "skoro" dobře :-)
Nicméně mi to po onClick do inputu "cena" nepřenese nic. Jenže já nevím, jestli je chyba v té funkci, nebo někde ve formuláři.
habendorf
Profil

<html>
<head>
<script language="JavaScript" type="text/JavaScript">
var cenaVyrobku = 20; // dodělat políčko
function calc(){
var cena;
var pocetks = document.getElementById('pocet').value;
if (pocetks == 1) {cena = 40 + cenaVyrobku * pocetks; }
else
{
if (pocetks==2 || pocetks==3) cena = 50 + cenaVyrobku * pocetks;
else
cena = 60 + cenaVyrobku * pocetks; }
document.getElementById('cena').value=cena}
</script>
</head>
<body>
<form name="objednavka" method="post" action="">
po&egrave;et:
<select name="pocet" id="pocet">
<option value="0" selected>Vyber</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>
</select>
<br>
cena:
<input name="cena" type="text" id="cena" value="">
<br>
<input name="spocitat" type="button" id="spocitat" value="Spocitat" onClick="calc();">
</form>
</body>
</html>


Odladěno, šlape.
Gondo
Profil *
Wow, it works!!! :-)
Díky moc za účinnou pomoc. Na tu syntaxi výpočtového vzorce ve funkci bych sám nepřišel.
Koukal jsem, že je asi také důležité přidat do inputu value="", aby ta hodnota byla kam předat?
Ještě jednou díky.

Vladimír
habendorf
Profil
aby ta hodnota byla kam předat

Přesně tak. A taky nahoře
var pocetks = document.getElementById('pocet').value;
Toto téma je uzamčeno. Odpověď nelze zaslat.