日期:2014-05-16  浏览次数:20393 次

做一个搜索和JSON数据分页的功能出错了。在输入关键字后提交跳转传值,在目标页分页显示搜索结果。js不能选择目标Div,在js中有“NULL为空或不是对象”
输入的搜索数据传到处理分页功能的js中的时候,其中包含__$$()的部分就显示有“NULL为空或不是对象”的错误。
不知道是不是因为通过javascript传递数据的方式有局限性的关系,不太明白问题出在哪里...

主要代码:
搜索页:
 <script>function TransData()
  {
 /*******transport data through jQuery and Url.*******/
  var searchData= $("#txtkw").val();
  window.open("testDeliver.php?searchData="+searchData); }
</script>
<p>
        <input id="txtkw" type="text" value="" />
        <input id="Button1" type="button" value="提交" onclick="TransData();" />
    </p>
 
目标页:
<script>
function query_get(){ 
var querystr = window.location.href.split("?")
return querystr[1];

function GetSearch(){
var gets = query_get();
var gets_array = gets.split("&");
for (var i=0; i<gets_array.length;i++)   
{var getvar = gets_array[i].split('='); 
}
return getvar[1];

var os = new ObjSearch(); 
function Init(){
os.kw = GetSearch();  }
Init();
os.search();</script> 
<div class="list"><div id="content"></div>
<div id="pager">
<div id="total"></div><div id="pagelist"></div></div>
</div>
 
paginate.js搜索部分的代码:
function ObjSearch()
{this.kw = '';
this.displayId = '';    
this.search = function()
{
OutputHtml(this);
}
this.searchCpcj= function()
{   
var jsonObj = new Array();
var kw = this.kw;
$(vCpcj.cjpage).each(function(index,content){     
if(content.cm.indexOf(kw)!=-1)
{                   
jsonObj.push({"cm":content.cm,"pagen":content.pagen});                  
}
});
return jsonObj;

}
分页部分代码(有报错):
function __$$(id){return document.getElementById(id);}
function GotoPage(num){
Page = num;
OutputHtml(os);

var PageSize = 20;
var Page = 1; 
function OutputHtml(){
var vobj = arguments[0];
var siteList = '';       
siteList = os.searchCpcj();
var obj = eval(siteList); 
var sites = obj;
var Pages = Math.floor((sites.length - 1) / PageSize) + 1; 
if(Page < 1)Page = 1;  //如果当前页码小于1
if(Page > Pages)Page = Pages; //如果当前页码大于总数
var Temp = "";
var BeginNO = (Page - 1) * PageSize + 1; 
var EndNO = Page * PageSize; 
if(EndNO > sites.length) EndNO = sites.length;
if(EndNO == 0) BeginNO = 0;
if(!(Page <= Pages)) Page = Pages;

 /***这里__$$("total")的有