2011-12-14 7 views
1
<div id = 'eventcontainer' > 
<span id = 'class'> 
<?php 

//Getting posts from DB 

$event1 = mysql_query("SELECT post,date,memid FROM postaction WHERE memid = '$id' ORDER   BY date DESC LIMIT 5;"); 

while ($row1 = mysql_fetch_array($event1)) 
{ 

$event = $row1['post']; 
$timeposted = $row1['date']; 

$eventmemdata = mysql_query("SELECT id,firstname FROM users WHERE id = '$id' LIMIT 1"); 

while($rowaa = mysql_fetch_array($eventmemdata)) 
{ 
$name = $rowaa['firstname']; 
$eventlist = "$event <br> $name"; 
} 


echo " <div id = 'eventer'> $timeposted <br>$eventlist</div> <input name='myBtn'   type='submit' value='increment' onClick='javascript:ajax_post();'> 
<input name='lol' type='submit' value='dec' onClick='javascript:ajax_posta();'> 
<div id = 'status'>lol</div>"; 
echo "<br>"; 

} 
$('.eventcontainer.button').click(function() { 
$.post('javas.php', function(data) { 
    $(this).parent('div').find('.status').html(data); 
}) 
}); 
?> 
</div> 
</span> 

このコードを実行しようとするとエラーが発生します。 私がやろうとしているのは、ボタンがクリックされているdiv/classを読み込み、そのクラスの相対的なajax/jquery機能を実行することです。PHPのAjaxで正しいdiv /クラスを見つける

これはコメントが指摘したように、あなたはPHPタグでjQueryをしてはならないのAjax/jQueryの 関数ajax_post(){

$('.eventcontainer.button').click(function() { 
$.post('javas.php', function(data) { 
    $(this).parent('div').find('.status').html(data); 
}) 
}); 


hr.open("POST", url, true); 

// Set content type header information for sending url encoded variables in the request 
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
// Access the onreadystatechange event for the XMLHttpRequest object 
hr.onreadystatechange = function() { 
    if(hr.readyState == 4 && hr.status == 200) { 
     var return_data = hr.responseText; 
     document.getElementById("status").innerHTML = return_data; 
    } 
} 
// Send the data to PHP now... and wait for response to update the status div 
hr.send("num=" + (++num)); // Actually execute the request 
document.getElementById("status").innerHTML = "processing..."; 

} 
+3

よう

何かを得るのですか?何を試しましたか? – Simone

+2

PHPタグ内にjQueryがあるのはなぜですか? –

答えて

0

です。いくつかのスクリプトスクリプトタグをページの先頭に追加し、document.readyハンドラを追加してそこにスクリプトを配置します。

これを達成すれば、thisの値が混ざっているので、まだいくつかの問題があることに注意してください。

$('.eventcontainer.button').click(function() { 
    $.post('javas.php', function(data) { 
     $(this).parent('div').find('.status').html(data); 
    }) 
}); 

あなた$.postコールのコールバックを打ったら、thisは、もはやあなたがクリックした項目に等しいではありません。投稿の呼び出しの前に、その要素をローカル変数に保存する必要があります。あなたはどのようなエラーを

$('.eventcontainer.button').click(function() { 
    var self = this; 
    $.post('javas.php', function(data) { 
     $(self).parent('div').find('.status').html(data); 
    }) 
}); 
+0

私はこれをphpではなくjqueryタグに入れますか? – foshoeiyyy

+0

@foshoeiyyy - 私はPHPの人ではありませんが、これはPHPタグではありません**と推測しています。 –

+0

このコードがどこに収まるのかわからないのですか? – foshoeiyyy

関連する問題