与服务器端实时通信问题。

mengqianye 2008-11-11 04:41:38
<input type='text' onpropertychange='doit(this.value)' id='test'/>

function doit(str)
{
//这边用ajax提交数据到服务器端,然后返回来的数据再处理。。
}

onpropertychange是只要input里输入的值一有变化,就触发了,这样的话,很短的时间里一直在请求服务器,服务器跟客户端交互数据也没那么快。我想过一秒钟提交一次,或者大家有没有更好的建议?这个要怎么控制呢?

先谢谢大家了~
...全文
45 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengqianye 2008-11-17
  • 打赏
  • 举报
回复
谢谢了。。
Go 旅城通票 2008-11-12
  • 打赏
  • 举报
回复
setTimeout延时提交啊,如果在1秒内内容改变,清除这个延时提交

<input type='text' onpropertychange='doit(this.value)' id='test'/> 
<script>
var timer;
function doit(str) {
//ajax提交放到另外一个函数中
if(timer){//存在未发送的延时,清除掉
clearTimeout(timer);
timer=null;
}
timer=setTimeout(function(){ajaxSearch(str);},1000);//1秒钟后启动查询
}

function ajaxSearch(str){
//这边用ajax提交数据到服务器端,然后返回来的数据再处理。。

}
</script>
编程有钱人了 2008-11-12
  • 打赏
  • 举报
回复
帮你顶上去

87,907

社区成员

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

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