很多网站上有支持按纽,一点击整个页面不刷新,但数字增加。这种代码怎么写。

解决方案 »

  1.   

    1、与服务器端有交流,通常ajax实现的
      

  2.   

    ajax技术实现的
    //Ajax
    function Ajax(){
    var _xmlHttp = null;
    this.createXMLHttpRequest = function(){try{if (window.ActiveXObject){_xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}else if (window.XMLHttpRequest){_xmlHttp = new XMLHttpRequest();}}catch(e){alert(e.name +" : " + e.message);}}
    this.backFunction = function(_backFunction){if(_xmlHttp.readyState == 4){if(_xmlHttp.status == 200){_backFunction(_xmlHttp.responseText);}}_xmlHttp.onreadystatechange = null;}
    this.doPost = function(_url,_parameter,_backFunction){try{_xmlHttp.open("POST",_url, false);_xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");_xmlHttp.send(_parameter);}catch(e){alert(e.name +" : " + e.message);}}
    this.doGet = function(_url,_parameter,_backFunction){try{var _random = Math.round(Math.random()*10000);_xmlHttp.open("GET", (_url+"?random=" +_random +"&" + _parameter), false);_xmlHttp.send(null);}catch(e){alert(e.name +" : " + e.message);}}
    this.ajaxRequest = function(_url,_parameter,_method,_backFunction){try{this.createXMLHttpRequest();if(_method.toLowerCase() == "post"){this.doPost(_url,_parameter,_backFunction);}else{this.doGet(_url,_parameter,_backFunction);}try{_xmlHttp.onreadystatechange = this.backFunction(_backFunction);}catch(err){}}catch(e){alert(e.name+" : "+e.message);}}
    }function Docheck(Id){
    var url = "Sys_NewsList.php?work=docheck";
    var parameter = "Id="+Id;
    var method = "post";
    new Ajax().ajaxRequest(url,parameter,method,callBack);
    function callBack(xml){}
    }/*---------------------------------*/
    Function _DoCheck(){
    OB_clean();
    Global $Mysql,$Table;
    $Id=Toget("Id");
    IF(!$Id){Exit(escapeshellarg('Error:Request data error!'));} $Rs=$Mysql->Get("Select IsCheck From {$Table} where Id=".$Id."");
    IF(Count($Rs)<1){Exit(escapeshellarg('Error:Database Empty!'));} IF($Rs[0]==0){
    $StrWhere="IsCheck=1";
    }Else{
    $StrWhere="IsCheck=0";
    } $Sql="Update {$Table} Set ".$StrWhere." Where Id=".$Id."";
    $Result=$Mysql->Exe($Sql);
    IF($Result!=1){
    Exit(escapeshellarg($Result));
    }
    Die();
    }
      

  3.   

    用ajax 来实现吧,无刷新技术。
    还有个 xajax 也可以,一样的道理。
      

  4.   

    可以使用ajax实现,也可以向一个隐藏大小的iframe提交数据
      

  5.   

    变量放入application中 或者弄个全局变量!
      

  6.   

    用个JS 也可以实现的,结合PHP代码,只不过那样好像在火狐里面有bug
    一直没想到解决方法
      

  7.   

     $Sql="Update {$Table} Set ".$StrWhere." Where Id=".$Id."+'1'";