mahirtaha adlı üyeden alıntı: mesajı görüntüle
Merhaba,
Php de for each döngüsü ile 10 verili bir çıktı alıyorum her çıktıda birer form var yanı sayfa yuklendıgınde 10 farklı form olusuyor her formda 2 buton var ve butonlara bastıgımda en üstteki formda işlem yapıyor butonlarda onclick eventinde bir ajax fonksıyonu var ama ajax fonksiyonu bir forma bağlı ama gelen 10 foırmun onuda aynı form idi ile geliyor yanı formların farklı idlerdeolmasını sağlasam bile bu seferde bunu ajaxa iletemıyorum onclickdeki fonksiyonun içerisine this.form ayzıyorum kabul etmıyor olmuyor.

Aiaiğıya kod parcalarını verıyorum sadece bu döngü ile gelen 10 formunher bırnın ajax fonksıyonlarına farklı sekılde ıletılmeısnı ıstıyorum ama beceremedım bır turlu arastırdım bıulamadım da

Şimdiden Teşekkürler.

Php döngü kısmı burda
														
<?php 

$tweet = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$username."&count=10");
foreach ($tweet as $ayikla)
{
echo'<article class="box is-post">';
echo '<b>'.$ayikla->text.'</b>'; //Tweet
$tweetidsi = $ayikla->id_str;
echo $tweetidsi;
echo'<br><form  method="post" action="index.php?islem=fav" ><input name="favid" type="text" class="m-wrap" value="'.$tweetidsi.'" /><input type="button" class="button" onClick="gonderfav(this);" value="10 Favori Ekle"/></form>';
echo'<form method="post" action="index.php?islem=rt" ><input name="rtid" type="text" class="m-wrap"  value="'.$tweetidsi.'" /><input type="button" class="button" onClick="gonderrt(this);" value="10 Retweet Ekle"/></form>';
echo'<br><div id="sonuc13"></div></article> ';
}

?>
Ajax Fonksıyonlarıda burda

		<script type="text/javascript">
function gonder(){
$('#sonuc').slideDown('slow');
$("#sonuc").html('<div id=resim><center>Takipçileriniz Aktarılıyor..<br><img src="includes/img/loading.gif"></center></div>');
$.ajax({
type:'POST',
url:'index.php?islem=kazan',
data:$('#veri-formu').serialize(),
success:function(cevap){
    
    $("#sonuc").html(cevap)

}

})

}
</script>
		<script type="text/javascript">
function gonderrt(frm){
$('#sonuc13').slideDown('slow');
$("#sonuc13").html('<div id=resim><center><img src="../includes/img/loading.gif"></center></div>');
$.ajax({
type:'POST',
url: frm.attr( 'action' ),
data:frm.serialize(),
success:function(cevap){
    
    $("#sonuc13").html(cevap)

}

})

}
</script>
Çözüm

for içinde kullandığınız tüm id değerlerinin farklı olması lazım örneğin ,

onclick ile verdiğiniz değerin

onClick="gonderrt1(this);"
onClick="gonderrt2(this);"
onClick="gonderrt3(this);"

gibi artması lazım aynı şekilde bu fonksiyonunda içindeki html cevapların farklı idler ile oluşturulması lazım. Forda bir counter ekleyip bir benzersiz belirleyin daha sonra

onClick="gonderrt<?=$benzersiz?>(this);"

Şeklinde for içinde benzersizleştirin.

Öneri :

Bu kodlar çok gereksiz yazılmış. Js fonksiyonunu geliştirirseniz bir div'e id verip içerisindeki değerleri okuyarak 1 js fonksiyonu ile işlem yaptırabilirsiniz