briedis Posted August 7, 2008 Report Posted August 7, 2008 Karoč, ir forma ar radio . <b>Izrakstam rēķinu!</b><br> <input type="radio" name="rekins" value="G" onchange="cikSumma('p',7);"> Gadam <b>(Ls 18)</b><br> <input type="radio" name="rekins" value="P" onchange="cikSumma('a',7);"> Pusgadam <b>(Ls 11)</b> Summa apmaksai: <input type="text" id="summa" value="18"> Un skripts <script type="text/javascript"> function cikSumma(darbiba,cik){ if(darbiba == 'a') document.forma.summa.value -= cik; else document.forma.summa.value += cik; alert(document.forma.summa.value); } </script> Ko darīt, lai nebūtu šitā: 18 - 7 = 11 11 + 7 = 117 117 - 7 = 110 110 + 7 = 1107 utt utt...
briedis Posted August 7, 2008 Author Report Posted August 7, 2008 Eh, atradu atbildi :D .. document.forma.summa.value = parseInt(document.forma.summa.value) + cik; ..
andrisp Posted August 7, 2008 Report Posted August 7, 2008 Iesaku parseInt (arī parseFloat) vietā izmantot veco "nesmuko" metodi var skaitlis_kaa_floats_vai_ints = skaitlis_kaa_strings * 1; Jo stringus, kas sāksies kā '0..' parseInt() uztvērs kā oktālos skaitļus (tā viņus sauc?). Šajā situācijā gan tas nedraud, bet es vispārīgi iesaku.
briedis Posted August 7, 2008 Author Report Posted August 7, 2008 Iesaku parseInt (arī parseFloat) vietā izmantot veco "nesmuko" metodi var skaitlis_kaa_floats_vai_ints = skaitlis_kaa_strings * 1; Jo stringus, kas sāksies kā '0..' parseInt() uztvērs kā oktālos skaitļus (tā viņus sauc?). Šajā situācijā gan tas nedraud, bet es vispārīgi iesaku. Ok, ņemšu vērā! Paldies :) A kā šito fišku taisīt ar čekboksu? Ja čekboks atķeksēts +5, ja nē, -5? onchange='checkbox(id,5)' if(document.forma.id.checked) value + 5; else -5?
indoom Posted August 7, 2008 Report Posted August 7, 2008 (edited) tāpēc parseInt ir radix parametrs, parseInt('08', 10); par to +5 / -5, ja tas skailtis mainās, reizini to ar 1 vai -1 attiecīgi 147 + 5 * (document.forma.id.checked? 1 : -1) Edited August 7, 2008 by indoom
v3rb0 Posted August 7, 2008 Report Posted August 7, 2008 parseInt() ir otrs arguments ar kuru norādīt bāzi kādā strings ir, alert([ 'parseInt("01110",10) => ' + parseInt("01110",10), 'parseInt("01110",2) => ' + parseInt("01110",2), 'parseInt("01110",8) => ' + parseInt("01110",8), 'parseInt("01110") => ' + parseInt("01110") ].join("\n"));
briedis Posted August 7, 2008 Author Report Posted August 7, 2008 (edited) Skāidrs, nemaz nezināju. :] O, Kaut kas tev noderīgs/jauns arī no šis diskusijas :D Edited August 7, 2008 by briedis
Recommended Posts