Autor Zpráva
Mischella
Profil *
Ahojky, mohl by mi prosím Vás někdo poradit, potřebovala bych vytvořit JavaScript pro výpočet ceny s DPH. Takovýto návod jsem dostala k dispozici:

function spocitej(radek) {
cena = document.getElementById('pol['+radek+']').innerHTML;
mnozstvi = document.forms['objednavka'].mno[radek].value;
vysledek = cena * mnozstvi;
document.getElementById('cen['+radek+']').innerHTML = vysledek;
}

A Parametrem funkce pro výpočet bude objekt do kterého chci zobrazit cenu. Součástí skriptu má být i výpočet ceny požadovaného množství.

Potřebovala bych tu funkci dotvořit,aby to uceleně fungovalo jako externě uložený skript.K tomu mám k dispozici i toto do html dokumentu.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="PSPad editor, www.pspad.com">
<meta name="creator" content="Václav Lohr">
<title>Zboží v košíku</title>
<style type="text/css">
/* <![CDATA[ */
td.cena { text-align: right; }
td.stred { text-align: center; }
/* ]]> */
</style>
<script src="kosik.js" type="text/javascript"></script>
</head>
<body>
<form action="kosik.html" method="post" name="objednavka">
<table>
<td><th>Položka</th><th>Cena/ks bez DPH</th><th>Množství</th><th>Cena celkem</th><th>Cena s DPH</th></tr>
<td><td>Sedlo Beral</td><td class="cena"><span id="pol[1]">16800</span></td><td class="cena"><input type="text" name="mno[1]" size="3" value="1" onchange="spocitej(1);" /></td><td class="cena"><span id="cen[1]">19992</span></td><td class="cena"><span id="cel[1]">19992</span></td></tr>
<td><td>Sedlo Principesa</td><td class="cena"><span id="pol[2]">34900</span></td><td class="cena"><input type="text" name="mno[2]" size="3" value="1" onchange="spocitej(1);" /></td><td class="cena"><span id="cen[2]">41531</span></td><td class="cena"><span id="cel[1]">41531</span></td></tr>
<td><td colspan="5" class="stred"><input type="submit" value="Odeslat"></td></tr>
</table>
</form>
</body>
</html>

BUDU MOC VDĚČNÁ ZA POMOC!!SPĚCHÁ PROSÍM
Martin_
Profil *
pre]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="PSPad editor, www.pspad.com">
<meta name="creator" content="Václav Lohr">
<title>Zboží v košíku</title>
<style type="text/css">
/* <![CDATA[ */
td.cena { text-align: right; }
td.stred { text-align: center; }
/* ]]> */
</style>
<script type="text/javascript">
function spocitej(radek) {
var pol = radek.parentNode.previousSibling.firstChild.firstChild;
var mnozstvi = radek;
var cen = radek.parentNode.nextSibling.firstChild.firstChild;
var cel = radek.parentNode.nextSibling.nextSibling.firstChild.firstChild;
var dan = "1.05";

cen.data = pol.data*mnozstvi.value;
cel.data = cen.data*dan;
}
</script>

</head>

<body>
<form action="kosik.html" method="post" name="objednavka">
<table>
<tr>
<th>Položka</th>
<th>Cena/ks bez DPH</th>
<th>Množství</th>
<th>Cena celkem</th>
<th>Cena s DPH</th>
</tr>

<tr><td>Sedlo Beral</td><td class="cena"><span id="pol1">16800</span></td><td class="cena"><input type="text" name="mno1" size="3" value="1" onchange="spocitej(this);" /></td><td class="cena"><span id="cen1">16800</span></td><td class="cena"><span id="cel1">19992</span></td></tr>

<tr><td>Sedlo Principesa</td><td class="cena"><span id="pol2">34900</span></td><td class="cena"><input type="text" name="mno2" size="3" value="1" onchange="spocitej(this);" /></td><td class="cena"><span id="cen2">34900</span></td><td class="cena"><span id="cel2">41531</span></td></tr>

<tr>
<td colspan="5" class="stred"><input type="submit" value="Odeslat"></td>
</tr>
</table>
</form>
</body>
</html>
[/pre]

Akorát to funguje, když jsou mezi tagy mezery (</td>mezera<td class="cena">mezera...). Nevíte, jak to zařídit?
Jak byste to řešili Vy? Rád bych se podíval, jak to píše někdo, kdo JS umí. Dík
Toto téma je uzamčeno. Odpověď nelze zaslat.

0