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

郁闷的问题-'null' 为空或不是对象
第一次搞ajax,从网上找了段代码改了改,现在出了问题。
        表单是动态添加的,形如: <input   name= "clbh1 "   id= "clbh1 "   type= "text "   onBlur= "javascript:searchcl(1) ">
        现在的问题:第一行正常,即id=1时,输入了内容,就返回查找到的值。从动态添加的第2行开始,报错:代码:0,错误: 'null '   为空或不是对象。
        但有个奇怪的现象,如果去掉函数的id参数,指定id(var   id=1),程序就不会出错。可是我用alert输出动态添加的clbh和id,程序接收正确,没有问题啊!
        涉及代码如下:
function   searchcl(id)   {
var   clbh   =   eval( "document.getElementById( 'clbh "+id+ " ').value ");
if   ((clbh   ==   null)   ||   (clbh   ==   " "))   return;
var   url   =   "Searchcl.asp?id= "+id+ "&clbh= "   +   escape(clbh);
xmlHttp.open( "GET ",   url,   true);
xmlHttp.onreadystatechange   =   function(){updatenu(id)};
xmlHttp.send(null);  
}

function   updatenu(id)   {
if   (xmlHttp.readyState   ==   4)   {
var   response   =   xmlHttp.responseText;
  eval( "document.getElementById( 'cl "+id+ " ') ").innerHTML=response;
}
}

------解决方案--------------------
看看表单有没有错吧
------解决方案--------------------
这样有很多种情况 你得把相关生成的代码 也要贴出来啊
一般会是输出顺序的问题