晕了 高手帮看看吧

w198909253132 2009-09-03 02:56:06

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循环),高手们帮看看怎么一回事!!
...全文
204 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
w198909253132 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 40 楼 hookee 的回复:]
如果两次返回结果是一样的话:
faxnum=document.getElementById('addrFaxNum'+json['groupname']+'['+i+']');
faxnum.id='addrFaxNum'+json['faxnumidsary'][i]; <---此处第一次改了id,第二次的时候用上面的语句得不到 faxnum对象了吧,把改id的都注释掉试试看

[/Quote]
多谢 按照你的提醒 问题已经解决
w198909253132 2009-09-04
  • 打赏
  • 举报
回复
faxnum.id='addrFaxNum'+json['faxnumidsary'][i]; 果然是这行 , 把alert放在这行下边除了第一次执行外都没有执行,这个应该怎么解决?
hookee 2009-09-04
  • 打赏
  • 举报
回复
如果两次返回结果是一样的话:
faxnum=document.getElementById('addrFaxNum'+json['groupname']+'['+i+']');
faxnum.id='addrFaxNum'+json['faxnumidsary'][i]; <---此处第一次改了id,第二次的时候用上面的语句得不到 faxnum对象了吧,把改id的都注释掉试试看
w198909253132 2009-09-04
  • 打赏
  • 举报
回复
加上之后还是不行
w198909253132 2009-09-04
  • 打赏
  • 举报
回复
应该是触发了啊 for循环上边的都执行了 我先试试
w198909253132 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 hookee 的回复:]
是不是请求没触发呀?xhr request的url中加随机数了吗?
url = "xxx.php?n=" + escape(new Date())
[/Quote]
没有加 我试试啊
hookee 2009-09-04
  • 打赏
  • 举报
回复
是不是请求没触发呀?xhr request的url中加随机数了吗?
url = "xxx.php?n=" + escape(new Date())
x198909253132 2009-09-03
  • 打赏
  • 举报
回复
下班了 晚上继续研究 做程序员真累 小弟刚毕业工作不久 所以有很多东西都不懂 呵呵
x198909253132 2009-09-03
  • 打赏
  • 举报
回复
按道理说应该是这样子啊 难道不是这样吗 ? 我是自己理解的
dzxccsu 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 x198909253132 的回复:]
现在把
if(json['addrtype']=='add'){
                addGroupAddr(json['faxnumids']);
            }
放到for循环上面了,然后通过点击其它事件调用这个方法(json['addrtype'] != 'add' 的时候),然后为页面赋值,这时候在点击触发json['addrtype']=='add' 是完全好用的,
现在的问题是ajax每次点击应该都用for循环处理返回啊, 可是经过测试只处理了一次
[/Quote]你的意思点一次,for整个循环一次,点两次,for循环整个循环两次?
x198909253132 2009-09-03
  • 打赏
  • 举报
回复
现在把
if(json['addrtype']=='add'){
addGroupAddr(json['faxnumids']);
}
放到for循环上面了,然后通过点击其它事件调用这个方法(json['addrtype'] != 'add' 的时候),然后为页面赋值,这时候在点击触发json['addrtype']=='add' 是完全好用的,
现在的问题是ajax每次点击应该都用for循环处理返回啊, 可是经过测试只处理了一次
w198909253132 2009-09-03
  • 打赏
  • 举报
回复
[添加该组] 添加该组是张图片,第一次点这个图片是好用的, 再点就没反应了,如果先添加家人组,再添加同学组,这样也是可以的,每次点击都会去后台处理一下然后返回
w198909253132 2009-09-03
  • 打赏
  • 举报
回复

[添加该组] 家人(105)

[添加该组] 同学(105)

[添加该组] 朋友(5)

[添加该组] a(105)

[添加该组] 服务商(2145)
w198909253132 2009-09-03
  • 打赏
  • 举报
回复
哦 不好意思 弄错了 json['groupcounter'] 这个参数是组的序号, 根据这个序号去取这个组里面的人
dzxccsu 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 w198909253132 的回复:]
根据每个返回值id对应上返回值
[/Quote]返回值ID?for循环里的ID?
w198909253132 2009-09-03
  • 打赏
  • 举报
回复
根据每个返回值id对应上返回值
w198909253132 2009-09-03
  • 打赏
  • 举报
回复
json['faxnumids'] 是一个字符串,包含所有for循环里值的id,经过addGroupAddr()处理,就能对应上每个值的id 这个没问题,第一次点都可以,为什么第二次就不行呢
w198909253132 2009-09-03
  • 打赏
  • 举报
回复

把for循环去掉的话随便点多少次都ok,会不会和返回值有关呢?
dzxccsu 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 w198909253132 的回复:]
addGroupAddr()参数是json['faxnumids'] , 用参数去取返回值
[/Quote]json['faxnumids']这个在for循环也没有啊,你怎么用for循环的值?
w198909253132 2009-09-03
  • 打赏
  • 举报
回复
addGroupAddr()参数是json['faxnumids'] , 用参数去取返回值
加载更多回复(22)

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧