• 22-09-2012, 21:08:41
    #1
    arkadaşlar bu sorunu nasıl halledebilirim kodlar ve resim aşağıda


    $veriler = $_POST['veriler'];
    for( $i=0; $i<count($veriler); $i++){
    	$veri=explode(',',$veriler[$i]);
    echo "<tr><td><input name='Plaka[".$i."]' type='text' value='".$veri[0]."' /></td>";
    echo "
    <script type='text/javascript'>
    function carp() {
    var sayi1".$i."=0;
    var sayi2".$i."=0;
    
    sayi1".$i." = parseFloat(document.getElementById('Yevmiye[".$i."]').value) ;
    sayi2".$i." = parseFloat(document.getElementById('GunSayisi[".$i."]').value);
    
    
    sonuc".$i." = sayi1".$i."*sayi2".$i.";
    
    document.getElementById('Miktar[".$i."]').innerHTML = sonuc".$i.";
    document.getElementById('Miktar[".$i."]').value = sonuc".$i.";
    }
    </script>
    <td>&nbsp;</td>
        <td><input id='Yevmiye[".$i."]' name='Yevmiye[".$i."]' type='text' value='".$veri[1]."' /></td>
    	<td><input id='GunSayisi[".$i."]' name='GunSayisi[".$i."]' type='text' onkeyup='carp()' /></td>
        <td><input id='Miktar[".$i."]' name='Miktar[".$i."]' type='text' value='' /></td>
    	</tr>
    	
    	";
    	}
  • 22-09-2012, 22:52:31
    #2
    Function'ı FOR döngüsünün içine yazdığınız için en son yazdırılan Function hesaba katılıyor. O yüzden Carp fonksiyonu sadece son Input'a işlem yapıyor. Carp fonksiyonunu döngü dışına alın ve onkeyup="carp(".$i.")" şeklinde yazdırım yapıp, function'ı ona göre düzenleyin.
  • 22-09-2012, 23:17:52
    #3
    Fonksiyonu döngü dışına çıkarınca Yevmiye ve Gunsayisi olarak işlem yapmaya çalışacak ama sayfadaki veriler Yevmiye[0] Yevmiye[1]... ve Gunsayisi[0] GunSayisi[1]... bu şekilde.
    Benim yapmak istediğim
    Yevmiye[0] * Gunsayisi[0] = Miktar[0]
    Yevmiye[1] * Gunsayisi[1] = Miktar[1]
    . . .
    . . .

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 23:17:52 -->-> Daha önceki mesaj 23:06:52 --

    Sorun çözüldü.
    function carp() olan kısım carp[$i] olarak değiştirilince sorunsuz çalıştı.
  • 23-09-2012, 02:46:59
    #4
    function carp() isminide for ile artırmanız lazım sizin işleminizde fonksiyon 1 kere değer alıyor sonra sıfırlanıyor function carp".$i."() şeklinde fonskiyonu çağırırsanız problem olmayacaktır.