これは特定のクラスのボタンをクリックすると実行するAjax関数ですが、同じクラスの多くはPHPのwhileループから生成されますが、ボタンがクリックされたクラスでのみ出力されるデータで、他のクラスは同じ名前ではありません。ボタンがクリックされたクラスのエコーデータ
関数で
<script>
function ajax_posta() {
// Create our XMLHttpRequest object
var hr = new XMLHttpRequest();
// Create some variables we need to send to our PHP file
var url = "javas.php";
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 = "<img src = 'loading.gif' height = '30' width = '30'>";
}
$(document).ready(function()
{
$('.eventer.button').click(function() {
var self = this;
$.post('javas.php', function (data) {
$(self).parent('div').find('.status').html(data);
})
});
}
)
;
</script>
PHPコード、ID「状態」ではないクラス「状態」の要素を呼び出すのに対し、「状態」がクラスではないIDであるように私はまた、Ajaxの機能を変更する必要がありますwhileループは、同じ名前のクラスとボタンの複数の複製を生成します。
echo " <div class = 'eventer'> $timeposted <br>$eventlist <input name='myBtn' type='submit' value='increment' onClick='javascript:ajax_post();'>
<input name='lol' type='submit' value='dec' onClick='javascript:ajax_posta();'></div>
<div class = 'status'></div>";
echo "<br>";
私はこれまでのところ動作していないようですが、何か助けていただきありがとうございます!
$('.eventer > .button').click(function() {
var self = this;
$.post('javas.php', function (data) {
$(self).closest('.eventer').find('.status').html(data);
})
});
をとjQueryにそのajaxposta()の事を変換:
ajax_postaは()<入力名= 'myBtnです' タイプ=のonClick = 'javascriptの値= '増分' 'を提出する' と同じイマイチ:ajax_postを(); '>投稿プロセスで問題になるかもしれません。 – Jason
多分 'status' id/classesの名前を変更するのは読み込みが混乱するだけでなく、デバッグのヒントを与えるかもしれません – konsolenfreddy
また、あなたは既にjQueryを使用しています。なぜ$ .ajaxを使用しないのですか? http://api.jquery.com/jQuery.ajax/ – Jason