点击后无法立即更新,刷新后出现,跪求解决方法。。。

Monkey_Online 2012-09-14 08:07:21
就是现在在做公共聊天室的一个模块,想要实现的效果是:单击左侧的在线列表,可以在下面的说话对象中出现,应用ajax实现:
Talk.php页的代码:(这是输出说话的对象,在id='obtobt'的div中输出。)
 <div id="obtobt">
<select id="obt" name="obt">
<!-- 说话对象 -->
<?php
foreach($_SESSION["per"] as $value){
echo '<option value="'.$value.'">'.$value.'</option>';
}
?>
</select>
</div>

List.php中的代码:实现单击onclick效果:
foreach($arr as $key => $value){
$tmparr = explode(',',$value);
$tmp .= '<img id="head'.$key.'" src="images/'.($tmparr[1]==1?'boy.gif':'girl.gif').'" border="0" width="25" height="26" />  ';
$tmp .= '<a onclick=changename("'.$tmparr[0].'")style="cursor:pointer;">'.$tmparr[0].'</a><br>';
}

Main.js中的代码:
function changename(name){
url = "talk_chk.php?action=to&name="+name;
var select = document.getElementById('obtobt');
xmlhttp.open('GET',url,true);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState ==4){
var msg=xmlhttp.responseText;
select.innerHTML = msg;
}
}
xmlhttp.send(null);
}

但是现在的效果是,单击时没有出现,但是刷新后在说话对象列表中就出现了!!
找了很长时间,没有找出是什么原因,求指点!!
...全文
135 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Monkey_Online 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
试试

JScript code
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var msg=xmlhttp.responseText;
select.innerHTML = msg;
}
}
[/Quote]
试过了,还是不能实现效果。。。到底是什么问题呢??
泡泡鱼_ 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
可能缓存了吧,加时间戳防止缓存

JScript code
url = "talk_chk.php?action=to&name="+name+'&_dc='+new Date().getTime();


而且设置select的innerHTML在IE下没效果,而且你说的比较乱,ajax加载talk.php的内容还是什么?如果ajax动态加载talk.php的……
[/Quote]
+1 应该无非就是你说的这两种可能了
lz那select应该是已经存在的了,否则回调函数中无法应用呀。估计是因为select标签的设置问题
lz的返回数据变为数组,然后动态创建select的列表项试试
select.options.add(new Option("文本","值"));
Go 旅城通票 2012-09-17
  • 打赏
  • 举报
回复
可能缓存了吧,加时间戳防止缓存
    url = "talk_chk.php?action=to&name="+name+'&_dc='+new Date().getTime();


而且设置select的innerHTML在IE下没效果,而且你说的比较乱,ajax加载talk.php的内容还是什么?如果ajax动态加载talk.php的内容,那么select就没存在
泡泡鱼_ 2012-09-15
  • 打赏
  • 举报
回复
试试
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var msg=xmlhttp.responseText;
select.innerHTML = msg;
}
}

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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