V editoru mi nejde prepsat tento script, netusim kde je chyba, pomozte.Predkladam ho vcetne html tagu a potrebuju ho prepsat do .js .Dik za pomoc.
<head>
<script type="text/javascript">
function spocitej_cenu_sluzeb(cena){
if (document.vypocet_metru.pocet.value == ""){
document.getElementById('cena').style.display = 'none';
}
else{
document.getElementById('cena').style.display = 'block';
}
document.vypocet_metru.pocet_m.value = document.vypocet_metru.pocet.value;
document.vypocet_metru.vysledek.value = document.vypocet_metru.pocet.value * cena;
document.vypocet_metru.vysledek_19dph.value = (document.vypocet_metru.pocet.value * cena) * 1.19;
document.vypocet_metru.vysledek_5dph.value = (document.vypocet_metru.pocet.value * cena) * 1.05;
}
</script>
<title>Test</title>
</head>
<body id="" bgcolor="#FFF8DC">
<div id="">
<div id="">
<strong>Kolik mě bude stát nátěr ?</strong><p> <img border="0" src="plus.jpg" width="120" height="92">
25,-/m<sup>2</sup> bez DPH</p>
<div id="vypocet">
<form name="vypocet_metru">
<p>
Vložte počet m<sup>2</sup>
<input type="text" name="pocet" onkeyup="spocitej_cenu_sluzeb(25)" />
</p>
<p id="cena">
<input type="text" name="pocet_m" class="inp" /> <strong>x</strong> <strong>25 Kč</strong> <strong>=</strong>
<input type="text" name="vysledek" class="inp" /> <strong>Kč bez DPH</strong>
<strong></strong><input type="text" name="vysledek_19dph" class="inp" /> <strong>s
19% DPH</strong>
<strong></strong><input type="text" name="vysledek_5dph" class="inp" /> <strong>s
5% DPH</strong>
</p>
</form>
</div>
<div class="center">[ <a href="javascript:void window.close();">Zavřít</a> ]</div>
</div></div>
tema: Pomoc, uz sem zoufalej
nema vubec zadny smysl, smazat. Pomoc potrebuji vsichni a zoufaly byvaji casto taky. Takze by se tak mohlo jmenovat kazde tema. Sem zvedavy, jak by ses v tom orientoval.
"V editoru mi nejde prepsat tento script,"
v jakem?
presny postup operace, aby ji dokazal nekdo zopakovat a zjistit, proc ti to nejde?
U scriptu, co treba odkaz na stranku? Aby jsem si mohl zobrazit vysledek JS konzoly, aniz bych musel cely script kopirovat na disk? Prace navic, ja jsem treba lenivy a necham to na ostatnich.
pak tam mas napriklad name="" s podtrzitkem. Tomu bych se vyhybal. Ikdyz by to melo fungovat.
a proc si praci zjednodusovat, kdyz to jde slozite, ze?
<script type="text/javascript">
function spocitej_cenu_sluzeb(cena){
if (document.vypocet_metru.pocet.value == ""){
document.getElementById('cena').style.display = 'none';
}
else{
document.getElementById('cena').style.display = 'block';
}
document.vypocet_metru.pocet_m.value = document.vypocet_metru.pocet.value;
document.vypocet_metru.vysledek.value = document.vypocet_metru.pocet.value * cena;
document.vypocet_metru.vysledek_19dph.value = (document.vypocet_metru.pocet.value * cena) * 1.19;
document.vypocet_metru.vysledek_5dph.value = (document.vypocet_metru.pocet.value * cena) * 1.05;
}
</script>
<script type="text/javascript">
function spocitej_cenu_sluzeb(cena){
var f,g;
f = document.vypocet_metru;
g = f.pocet.value;
document.getElementById('cena').style.display = (g == "") ? 'none' : 'block';
f.pocet_m.value = g;
f.vysledek.value = g * cena;
f.vysledek_19dph.value = (g * cena) * 1.19;
f.vysledek_5dph.value = (g * cena) * 1.05;
}
</script>
No mě to takhle funguje, s čím máš problém? Jen k tomu přidej na začátek
a na konec
</body>
a ulož to s příponou html nebo htm a dej to na web ;-)
Jediný, co bych tam možná ještě vylepšil, je, aby tam moh člověk zadat místo desetinné tečky desetinnou čárku a fungovalo to. upravil bych ten script takhle:
<script type="text/javascript">
function spocitej_cenu_sluzeb(cena){
if (document.vypocet_metru.pocet.value == ""){
document.getElementById('cena').style.display = 'none';
}
else{
document.getElementById('cena').style.display = 'block';
}
var pocet=document.vypocet_metru.pocet.value;
if(pocet.indexOf(",")>-1){
pocet=pocet.substr(0,pocet.indexOf(","))+'.'+pocet.substr(pocet.indexOf(",")+1);
}
document.vypocet_metru.pocet_m.value = pocet;
document.vypocet_metru.vysledek.value = pocet * cena;
document.vypocet_metru.vysledek_19dph.value = (pocet * cena) * 1.19;
document.vypocet_metru.vysledek_5dph.value = (pocet * cena) * 1.05;
}
</script>
sakra, zas je někdo rychlejší.
peta: ty tvoje úpravy jsou tak trochu jen kosmetika, že. především bych se vyhnul názvům proměnných f,g. místo "g" bych spíš použil "pocet" nebo "pocet_m" nebo tak něco. f je prakticky zbytečná, to je skutečně jen kosmetická úprava, pochybuju, že to script nějak zkvalitní. tamta ternární konstrukce, s tim bych souhlasil, toe lepší.
Takže: syntéza řešení:
<script type="text/javascript">
function spocitej_cenu_sluzeb(cena){
var pocet=document.vypocet_metru.pocet.value;
document.getElementById('cena').style.display = (pocet == "") ? 'none' : 'block';
if(pocet.indexOf(",")>-1){
pocet=pocet.substr(0,pocet.indexOf(","))+'.'+pocet.substr(pocet.indexOf(",")+1);
}
document.vypocet_metru.pocet_m.value = pocet;
document.vypocet_metru.vysledek.value = pocet * cena;
document.vypocet_metru.vysledek_19dph.value = (pocet * cena) * 1.19;
document.vypocet_metru.vysledek_5dph.value = (pocet * cena) * 1.05;
}
</script>
R.U.R. (jsrosa.wz.cz)
f - zkratka od form, naprosto jednoznazne. Jen to g bych zvolil jinak.
Carrloss (dejna-mysteria.mysteria.cz)
viz RUR, dej odkaz na stranka. RUR rika, ze mu to funguje, takze problem bude asi na zbytku stranky. Takto nic nevyresime...