Javascript在IE中总报错——缺少对象!
<?php
query0=mssql_query("select * from tb_xm where xm_pcid='1'");
$y=1;
while($myrow0=mssql_fetch_array($query0)){
?>
function datawrite<?php echo $y?>(){
if(xmlHttp.readyState==4 || xmlHttp.readyState==0){
xmlHttp.open("GET","kspf_conn1.php?online_xm="+"<?php echo $myrow0["xm_name"]?>"+"&online_user="+"<?php echo $online_user?>"+"&online_ytbyx="+ytbyx+"&online_mbnr="+mbnr+"&online_zjzb="+zjzb+"&online_ffjs="+ffjs+"&online_xyqj="+xyqj+"&online_jdjf="+jdjf+"&online_zhpf="+zhpf+"&online_sum="+sum,true);
xmlHttp.send(null);
}else{
alert("datawrite()中xmlHttp对象忙!");
setTimeout('datawrite<?php echo $y?>()',1000);
}
}
datawrite<?php echo $y?>();
<?php
}
?>
以上代码中循环读取项目表格中信息并通过XML打开kspf_conn1.php录入数据库,经检查kspf_conn1.php文件无误。但输入以上程序后出现缺少对象的错误,其中online_xm值代表项目名称,进入数据库后所可看到所有项目的名称均改为最后一个项目的名称。按理来说,写入的应当是不同的项目名称啊?
------解决方案--------------------xmlHttp对象在哪定义的?
------解决方案--------------------js 出错应在生成后的页面中排查
你在循环中定义 js 函数 function datawrite<?php echo $y?>()。由于 $y 在循环中并未发生变化,所以只是重复定义 datawrite1 函数。很自然就只有最后一轮的定义才能生效