

Javascript - po deaktivace elementu inputu počítat výslednou hodnotu
Dobrý den, nejsem moc odborník na javascript tak proto jdu sem potřebuju uělat jakýsi script který bude po deaktivace elementu inputu počítat výslednou hodnotu
zkusil jsem něco takového
<script>
function celkem(){
var ks = document.getElementById("ks").value;
var pocet = document.getElementById("cena").value;
document.getelementbyid("celkem").value = ks * pocet
}
</script>
<table>
<tr>
<td><input type="text" name="pr_nazev" id="nazev"></td>
<td><input type="text" name="ks" id="ks" onFocus="celkem();"></td>
<td><input type="text" name="cena" id="cena" onFocus="celkem();"></td>
<td><input type="text" id="celkem"></td>
</tr>
</table>
bohužel toto mi nefunguje prosím o rady
Zmena predmetu, pôvodne: Javascript (los)
jen dotaz, nepouzivate na webu nejakou knihovnu typu jQuery, MooTools, nebo treba Prototype?
Ne nic
ok... jeste jsem to nezkousel, ted hned nemam cas, ale vidim prvni chybu v poslednim radku skriptu:
document.getelementbyid("celkem").value = ks * pocet
musi to byt:
document.getElementById("celkem").value = ks * pocet
(pozor na dodrzovani velkych a malych pismen
dobrá to jsem dosud nevěděl díky za radu jinak jedná se o tento web platce.php a stále to nefunguje
zjednodusene, dej tomu inputu s cenou opravdu id="cena" misto id="nazev" a zacne to fungovat ;) (+ ta uprava s getElementById)
vysvetlim:
1. problem bylů v tom ze si mel napsane getelementbyid a to neni funkce.. musis dodrzovat velikost pismen..
2. problem byl v tom, ze si mel 1. input s id="nazev" a javascriptem si dohledaval element s id "cena".. i pres to ze to tedy uz pocitalo, vzdy to vracelo 0 pac to element s id cena nenaslo (opravit tedy ID u 1. elementu).
ten 5. radek console.log(''+ks+'*'+pocet+' = '+ks*pocet+''); je jen logovani do konzole..
kdyz vyuzivas napr prohlizec firefox a k nemu plugin Firebug, tak ten v sobe ma konzoli a veskere chyby v JS se ti tam loguji a pote muzes lepe ladit. Dale si do konzole muzes davat nejake vystupy (coz je tento pripad). Pokud nechces ve firefoxu instalovat firebug, doporucuji prohlizec Chrome, ktery je pro vyvojare take skveli.. konzoli ma take a vyvolas ji klavesovou zkratkou CTRL+SHIFT+J.. spust si tedy konzoli v prohlizeci Chorme, nacti stranku a napis neco do inputu, pote ti uz bude jasne co console.log() dela ;) a uvidis ze se ti priste skripty budou ladit lepe, pac ti to pise i jakou mas chybu a na jakem radku pripadne ;)
Hodne stesti s zacatky v javascriptu ;)
Okey kouknu se na to díky moc za rady :)
Nojo, jenže ty máš navázaný na vstup do buňky, ne na výstup ("deaktivaci").
Zkus to takhle:
pravda, toho jsem si ani nevsiml ze tam ma onFocus :o) to je trochu nesmysl, pocitalo by to az pri kliku na input
zkusil jsem to a chrome hází toto Uncaught TypeError: object is not a function
(anonymous function)platce.php:118
onchangeplatce.php:119
Nerad to řikám, ale stále to nejede a hlásí stejnou chybu jen ted s událostí keyup
Jaký že to máte prohlížeč? Já testoval v Opeře a IE9 a bez problémů.
Pomenuj rôzne funkciu "celkem" a identifikátor elementu "celkem".
Edit: Ak to chceš celé zjednodušiť, tak identifikátory vôbec nepotrebuješ. Vstupné prvky máš predsa určite v nejakom formulári, pomocou ktorého môžeš pristupovať ku elementom podľa name (form.meno_prvku, resp. form.elements.meno_prvku). Zjednoduší sa ti aj HTML kód aj JS kód.
No jo, já vůl. Máš pravdu, já zapomněl, že některé prohlížeče můžou mít s touhle jmennou konvencí problém.
Přejmenujte tu funkci třeba na vypocitej_celkem() a bude to fungovat
Už to funguje díky hoši moc