现在我有一个使用PHP从大型SQL数据库生成表的网站。
我想在我的网站上添加两个按钮,这些按钮将使用AJAX用新数据更新表格。该表都已编入索引,因此我需要的是能够提交"偏移量"变量通过我的XMLHttpRequest来获取新数据。我的代码是:
xmlhttp.open("GET","schedule_top.php?q="+offset, true);
xmlhttp.send();
现在,我的"接下来"按钮将给出3的偏移量,以及我之前的"按钮给出-3的偏移量。我遇到的问题是,如果用户想要多次单击任一按钮。由于每次在函数调用时偏移量都设置为0,因此我无法循环超过-3和3.
我该怎么办?我目前的AJAX代码如下:
function loadXMLDoc(int) {
var xmlhttp;
var offset = 0;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('tobooth').innerHTML = xmlhttp.responseText;
}
}
if (int == 1) {
offset -= 3;
} else {
offset +=3;
}
xmlhttp.open("GET","schedule_top.php?q="+offset, true);
xmlhttp.send();
}
答案 0 :(得分:0)
我没有直接回答你的问题,但我可以提出另一种方法。
您可以创建包含新偏移量的简单字段。或者,您可以直接在元素next
和prev
上存储偏移量,例如
<a href='#' id='0' class='goPrev'>Previous</a>
和
<a href='#' id='3' class='goNext'>Next</a>
默认偏移量为零。对于下一个按钮,偏移量将为3,对于之前的空值(用户无法单击“上一步”按钮)。
当用户点击next
按钮时,您将执行ajax请求并更新这两个字段。 goNext字段的偏移量为6,而之前的偏移量为0.
当用户再次点击next
按钮时,您将再次执行ajax请求并再次更新这两个字段。 goNext字段将具有偏移量9,而之前的字段将具有偏移量3.
Etc等等。
此外,您可以将数据存储在隐藏的输入中。
希望,这会有所帮助。