function update() {
if (request.readyState == 4) {
if (request.status == 200) {
json=eval("json="+"("+request.responseText+")");
$I('div'+json['groupname'],"");
if(json['addrtype']=='view'){
addressList(json['groupcounter']);
} for(i=0;i<json['onegroupnum'];i++){
document.getElementById(json['groupname']+'['+i+']').innerHTML=json['faxnameary'][i];
document.getElementById(json['groupname']+'['+i+']').title=json['companyary'][i];
var faxnum=document.getElementById('addrFaxNum'+json['groupname']+'['+i+']');
faxnum.id='addrFaxNum'+json['faxnumidsary'][i];
faxnum.name='addrFaxNum'+json['faxnumidsary'][i];
faxnum.value=json['faxnumary'][i];
var recname=document.getElementById('addrRecName'+json['groupname']+'['+i+']');
recname.id='addrRecName'+json['faxnumidsary'][i];
recname.name='addrRecName'+json['faxnumidsary'][i];
recname.value=json['faxnameary'][i]; if(document.getElementById('addrCompany'+json['groupname']+'['+i+']')){
var company=document.getElementById('addrCompany'+json['groupname']+'['+i+']');
company.id='addrCompany'+json['faxnumidsary'][i];
company.name='addrCompany'+json['faxnumidsary'][i];
company.value=json['companyary'][i];
} } if(json['addrtype']=='add'){
addGroupAddr(json['faxnumids']);
}
}
}
}第一次触发事件调用完全ok,下次再点击触发就不行了, for循环下面的代码根本没执行,(包括for循环),高手们帮看看怎么一回事!!
addGroupAddr(json['faxnumids']);
第二次执行的时候就不行了
for(i=0;i<json['onegroupnum'];i++){
alert(i); document.getElementById(json['groupname']+'['+i+']').innerHTML=json['faxnameary'][i];有多少个值?
if(json['addrtype']=='add'){
alert(i);
addGroupAddr(json['faxnumids']);
}
如果只有一个弹出框,说明json['addrtype']=='add'这个条件第二次就不成立了,这个问题只能慢慢检查是哪错了。
alert(i);
addGroupAddr(json['faxnumids']);
}放在for上面的话每次就都好用 现在怀疑for循环的问题 可是看了又看 还是没问题 我对ajax一些概念理解的不是很深, 搞这个东西的时候才开始学
alert(json['addrtype']);
addGroupAddr(json['faxnumids']);
}
addGroupAddr(json['faxnumids']);
}
这段代码你是要他循环,还是不要他循环?
a(1){
if(1){
b
}
}
addressList(json['groupcounter']);
}
本来是放在下面的,第二次点击也是不好用,后来放上边就好用了,可是for下边这个方法需要用到for里面的值 ,所以不能放上边
这些都没有问题, 现在是点击触发的时候第一次ok,后面就不行了 ,b就不执行了
貌似很乱
if(json['addrtype']=='add'){
addGroupAddr(json['faxnumids']);
}
这段代码哪里用到了for循环的值?
把for循环去掉的话随便点多少次都ok,会不会和返回值有关呢?
if(json['addrtype']=='add'){
addGroupAddr(json['faxnumids']);
}
放到for循环上面了,然后通过点击其它事件调用这个方法(json['addrtype'] != 'add' 的时候),然后为页面赋值,这时候在点击触发json['addrtype']=='add' 是完全好用的,
现在的问题是ajax每次点击应该都用for循环处理返回啊, 可是经过测试只处理了一次
url = "xxx.php?n=" + escape(new Date())
faxnum=document.getElementById('addrFaxNum'+json['groupname']+'['+i+']');
faxnum.id='addrFaxNum'+json['faxnumidsary'][i]; <---此处第一次改了id,第二次的时候用上面的语句得不到 faxnum对象了吧,把改id的都注释掉试试看