Java Script İle Toplama
-
Merhaba arkadaşlar, içinden çıkamadığım bir problemin javascript ile çözülebileceğini düşünüyorum fakat tüm gün araştırmama rağmen bir sonuca ulaşamadım, yardımcı olabilirseniz çok makbule geçer. Sorunum söyle
HTML ile 2 sayfadan oluşan bir form oluşturdum
ilk sayfada belirli hizmetler için tick koyulucak check boxlar var ve bunların değerleri var. Eğer tıklanmazsa 0 değerini alıyor tıklanırsa 50-25-vs gibi değerler alınıyor.
Formun ilk sayfasındaki submit buttonuna basıldığında 2. sayfa geliyor ve alınan değerler burada listeleniyor
hizmet1....{hizmet1}
hizmet2....{hizmet2} şeklinde formu oluşturuyorum
çıktı
hizmet1....25
hizmet2....0
hizmet3....55
şeklinde çıkıyor
yapmak istediğim şey şu
bu hizmetlerin bittiği noktada tüm bu değerleri toplamak ve göstermek, yani formun ilk sayfasındaki submite basıldığında
hizmet1....{hizmet1}
hizmet2....{hizmet2}
hizmet3....{hizmet3}
--------------
aratoplam..{aratoplam}
hizmet1....25
hizmet2....0
hizmet3....55
-------------
aratoplam.....80
yazsın, aratoplam değeri forumun ilk sayfasında yada 2. sayfasında nasıl oluşturulabilir?
şimdiden çok teşekkür ederim. -
Belki yardımcı olur<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>hesap</title></head><body><form name="form1" method="post" action=""><input type="text" name="text1" id="text1" value=""><br><input type="text" name="text2" id="text2" value=""><br><input type="text" name="text3" id="text3" value=""><br><input type="text" name="text4" id="text4" value=""><br><input type="text" name="text5" id="text5" value=""><br>Toplam:<input type="text" name="text6" id="text6" value=""></form><script language="javascript">for(i=1;i<6;i++)document.getElementById("text"+i).onkeyup=topla;var toplam=0;function topla(){toplam=0;for(i=1;i<6;i++){if (document.getElementById("text"+i).value!="")toplam+=parseInt(document.getElementById("text"+i).value);}document.getElementById("text6").value=toplam;}</script></body></html>
-
Aynısını sabahta denemiştim fakat bu sefer daha çok uğraştım olmadı gene malesef, şu şekilde yaptım
şu şekilde yaptım
hizmet1----hizmet39 a kadar olanlar toplanıcaktı checkbox ve radiobuttondan geliyordu değerler
<input type="hidden" name="aratoplam" id="aratoplam" value=""/>
</form>
<script language="javascript">
for(i=1;i<40;i++)
document.getElementById("hizmet"+i).onkeyup=topla;
var toplam=0;
function topla()
{
toplam=0;
for(i=1;i<40;i++)
{
if (document.getElementById("hizmet"+i).value!="")
toplam+=parseInt(document.getElementById("hizmet"+i).value);
}
document.getElementById("aratoplam").value=toplam;
}
</script>
sizin gönderdiğiniz örnekteki,
Toplam:<input type="text" name="aratoplam" id="aratoplam" value="">
ı da koydum, tıklandığında değişen birdeğer olmadı kutucuk boş kaldı.
bu sayfada aratoplam değerini alsa hafızasına, diğer sayfada çıksa ::) olucak gibiydi ama malesef olmadı, çok teşekkür ederim.
şu şekilde bir yöntem var mı?
aratoplam = {hizmet1} + {hizmet2} + ... + {hizmet3}
hepsini tek te yazsam alsa değeri hafızasına diğer sayfada gösterse -
deneye deneye çözdüm :) 2 satırmış var hizmet1= document.getElementById('hizmet1').value; var hizmet2= document.getElementById('hizmet2').value; var aratoplam= ( parseFloat(hizmet1) + parseFloat(hizmet1) );