Autor Zpráva
Richo
Profil
Zdravím.

Opět si nevím rady.
Mám formulář:

<script language="JavaScript" type="text/javascript">
<!--
function Recount(f) {
f.cena1.value = parseInt(f.delka.value) * f.cena.value;
}//-->
</script>
<form>
<input type="hidden" name="cena" value="1.2">
<input type="text" name="delka" size="5" onBlur="Recount(this.form)"/>mm
<input type="text" name="cena1" size="5" onBlur="Recount(this.form)"/>,- Kč
</form>

který mi do "ceny1" vypočítá cenu za udanou délku v milimetrech.
Potřeboval bych, aby se nezobrazovala cena menší než nějaká hodnota (i po zadání kratší délky)

Zkoušel jsem něco jako:
if (f.cena1.value < 1200) f.cena1.value == "1200";
ale je to blbě.

A kdyby se ten výsledek ještě nějak dal zaokrouhlit na celé koruny, budu skákat radostí...
Dero
Profil
Třeba takhle. Neříkám, že to je ideální, ale snad to bude stačit.

<style type="text/css">

input[disabled] {
border: 1px solid black;
background: white;
margin-top: 5px;
}
</style>

<script type="text/javascript">
function $(id) {
return document.getElementById(id);
}
function Recount(f) {
var cena = $("cena");
var cena1 = $("cena1");
var delka = $("delka");
c = Math.round(parseInt(delka.value) * cena.value);
if (!isNaN(c)) {
cena1.value = c < 1200 ? 1200 : c;
} else {
cena1.value = 0;
}
}
</script>

<form>
<input type="hidden" name="cena" id="cena" value="1.2">
<input type="text" name="delka" id="delka" size="5" onkeyup="Recount()" />mm<br />
<input type="text" name="cena1" id="cena1" disabled="disabled" size="5" /> Kč
</form>


http://dero.name/stuff/price_count.html
Richo
Profil
Teda, perfektní. Šlape to. Jenom ten disabled input bude přístupný pro PHP script? Myslím,že už jsem to zkoušel a nebralo mi to. Zkusím.

Tak to nebere. I tak moc dík.
Richo
Profil
Tak jsem zjistil, že ve FireFoxu to nepočítá. V konzoli to hlásí chybu: "delka has no properties".

Co to znamená? Jinak v Opeře a IE7 jo šlape.
Richo
Profil
Tak jsem to někde na googlu našel. Bylo to špatné adresování. Už to šlape jak má.

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