Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Nojo, jenže ty máš navázaný na vstup do buňky, ne na výstup ("deaktivaci"). Zkus to takhle: <script… nový
JoDiK 06.08.2011 11:27
JoDiK
pravda, toho jsem si ani nevsiml ze tam ma onFocus :o) to je trochu nesmysl, pocitalo by to az pri k… nový
antiS 06.08.2011 11:34
antiS
zkusil jsem to a chrome hází toto Uncaught TypeError: object is not a function (anonymous function)p… nový
88sking 06.08.2011 11:38
88sking
<script> function celkem(){ var ks = document.getElementById("ks").value; var pocet = document.getEl… nový
martin.developer 06.08.2011 11:48
martin.developer
Nerad to řikám, ale stále to nejede a hlásí stejnou chybu jen ted s událostí keyup nový
88sking 06.08.2011 11:51
88sking
Jaký že to máte prohlížeč? Já testoval v Opeře a IE9 a bez problémů. nový
martin.developer 06.08.2011 11:52
martin.developer
Pomenuj rôzne funkciu "celkem" a identifikátor elementu "celkem". Edit: Ak to chceš celé zjednoduši… nový
los 06.08.2011 11:54
los
No jo, já vůl. Máš pravdu, já zapomněl, že některé prohlížeče můžou mít s touhle jmennou konvencí pr… nový
martin.developer 06.08.2011 11:57
martin.developer
Už to funguje díky hoši moc poslední
88sking 06.08.2011 12:03
88sking

Nojo, jenže ty máš navázaný na vstup do buňky, ne na výstup ("deaktivaci").
Zkus to takhle:

<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" onChange="celkem();"></td>
<td><input type="text" name="cena" id="cena" onChange="celkem();"></td>
<td><input type="text" id="celkem"></td>
</tr>
</table>
<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" onkeyup="javascript:celkem();"/>
 
 </td>
 
 <td>
 
 <input type="text" name="cena" id="cena" onkeyup="javascript:celkem();"/>
 
 </td>
 
 <td>
 
 <input type="text" id="celkem"/>
 
 </td>
 </tr>
</table>

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.

Zpět do poradny Odpovědět na původní otázku Nahoru