首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

简单的ajax分页疑问,该如何处理

2012-05-01 
简单的ajax分页疑问HTML code!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.

简单的ajax分页疑问

HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"><head><title>ajax分页</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="description" content="" /><meta name="keywords" content="" /><script type="text/javascript">function ajax() {    var ajax = false;    if(window.XMLHttpRequest) {        ajax = new XMLHttpRequest();    } else {        ajax = new ActiveXObject("Microsoft.XMLHTTP");    }    return ajax;}window.onload = function check(node) {    var parameter = "page=" + node;    var nokia = ajax();    //alert(nokia);return;    nokia.open('POST',"process.php",true);    nokia.setRequestHeader('Content-Type','application/x-www-form-urlencoded');    nokia.send(parameter);    nokia.onreadystatechange = function () {        if(nokia.readyState==4 && nokia.status==200) {            document.getElementById('span1').innerHTML = this.responseText;        }    }}</script><style type="text/css"></style></head>    <body>        <span id="span1"></span>    </body></html>

PHP code
<?php$page = isset($_POST['page'])?$_POST['page']+0:1;if($page==0) {$page =1;}$conn = mysql_connect('localhost','root','111111');mysql_select_db('msg');$sql = 'select count(*) from news';$info = mysql_query($sql,$conn);$msg = mysql_fetch_row($info);$counts = $msg[0]; $perpage = 5; $pages = ceil($counts/$perpage); $start = $page - (5-1)/2;$end = $page + (5-1)/2;$start = $start<1?1:$start;$end = ($start+5-1)>$pages?$pages:($start+5-1);$end = $end>$pages?$pages:$end;$start = ($end-5+1)<1?1:$end-5+1;$link = '';for($i=$start;$i<=$end;$i++) {    if($i == $page) {        $link .= $i;        continue;    }    $link .= '&nbsp;<a onclick="check(' . $i . ');" href="#">' . $i . '</a>&nbsp;';}echo $link;


运行上面的html文件 可以显示 1 2 3 4 5 
可一单击超链接时,firefox的debug显示 check is not defined
不是已经innerHTML进来了么,而且奇怪的是那个$page如果不加零的话显示的object element,望朋友解答!!!

[解决办法]

这样呢
function check(node) {
var parameter = "page=" + node;
var nokia = ajax();
//alert(nokia);return;
nokia.open('POST',"process.php",true);
nokia.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
nokia.send(parameter);
nokia.onreadystatechange = function () {
if(nokia.readyState==4 && nokia.status==200) {
document.getElementById('span1').innerHTML = this.responseText;
}
}
}
window.onload = check(node);


[解决办法]
JScript code
window.onload = function (){   check(1);}function check(node) {    var parameter = "page=" + node;    var nokia = ajax();    //alert(nokia);return;    nokia.open('POST',"process.php",true);    nokia.setRequestHeader('Content-Type','application/x-www-form-urlencoded');    nokia.send(parameter);    nokia.onreadystatechange = function () {        if(nokia.readyState==4 && nokia.status==200) {            document.getElementById('span1').innerHTML = this.responseText;        }    }}
------解决方案--------------------


window.onload = function check(node) { ... }
后,函数 check 被绑定到 window.onload 事件,不是公有的
所以你调用 check 会报 方法未定义 错

热点排行