Autor Zpráva
nitram
Profil *
Mám program na počítání ceny jednotek v jedné hře.
<form onsubmit="cena()">
<input type="text" name="pocet">
<input type="submit" value="odeslat">
<table border="1">
<tr><td>
Počet NT</td>
<td>Počet NAQ</td><td>
Počet TRI</td></tr>
<tr><td><input type="text" name="NT" disabled="disabled"></td>
<td><input type="text" name="NAQ" disabled="disabled"></td>
<td><input type="text" name="TRI" disabled="disabled"></td>
</table>
</form>
<script>
function cena() {
var pocet=document.all.pocet.value;
var cenaNT=pocet * "47.52";
var cenaNAQ=pocet * "14.04";
var cenaTRI=pocet * "31.32";
document.all.NT.value=cenaNT;
document.all.NAQ.value=cenaNAQ;
document.all.TRI.value=cenaTRI;
}
</script>
Jenže prostě vůbec nefunguje.
Mohl by mi prosím někdo poradit, co dělám špatně. Už mi z toho vážně hrabe.

Díky
centi
Profil
var cenaNT=pocet * "47.52";
Máš nejaký špeciálny dôvod, prečo násobíš číslo (pocet) textom ("47.52")?
nitram
Profil *
Máš nejaký špeciálny dôvod, prečo násobíš číslo (pocet) textom ("47.52")?
Předtím jsem ho neměl jako text, to už bylo ze zoufalství.
V IE7 ale stejně nefunguje, jen ve Firefoxu.
DJ Miky
Profil
Použij
document.getElementById("NT")
místo
document.all.NT
apod.

(a u políček změň name="" na id="")
peta
Profil
nitram
"Jenže prostě vůbec nefunguje."
To muze mit 1000 duvodu.
- www prohlizec
- postup, co a jak mame zopakovat a co by se melo stat
- neni problem treba prave v tom, ze mas Mozillovej prohlizec a pouzivas IE metodu document.all, viz DJ Miky ?
bud ID: document.getElementById
nebo jakpsatweb - javascript - priklady - formulare (prostuduj, otestuj a uprav funkcni priklad na svuj)
... tj. NAME: document.forms[0].inputNAME.value
document.formNAME.inputNAME.value

"V IE7 ale stejně nefunguje, jen ve Firefoxu."
Hm, document.all funguje obvykle jen v IE prohlizecich :) Ff hlasi v JS konzoli vyjimku, ale pusti to dal.

"47.52" klidne jako cislo 47.52
zkus si na kazdy radek dat alert()

function cena() {
var pocet=document.all.pocet.value;
alert(pocet);
var cenaNT=pocet * "47.52";
alert(cenaNT)
var cenaNAQ=pocet * "14.04";
alert(cenaNAQ);
var cenaTRI=pocet * "31.32";
alert(cenaTRI);
document.all.NT.value=cenaNT;
alert(document.all.NT.value)
document.all.NAQ.value=cenaNAQ;
alert(document.all.NAQ.value)
document.all.TRI.value=cenaTRI;
alert(document.all.TRI.value)
}
Tak se dohleda, ktery radek ti vlastne nejde.

misto all bych teda pouzil forms[0] nebo pridal formulari name. Viz priklady na jakpsatweb

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: