我现在有一个文本框的keyup事件 绑定了ajax请求,就是每次用户输入什么都会请求后台,现在想实现的是如果用户连续输入时将连续输入作为一次请求,以间隔时间300毫秒为例,如果300毫秒以内,输入的作为一次请求,想问问大家有没有好的实现方法,我现在用javascript和一个hiddenfield实现了,但是想看看有没有更好的办法。
解决方案 »
- 怎样把它搞到中间去
- 关于gridview动态生成模版列及列头设置的问题
- 请问如何取的硬盘的物理序列号
- 如何拆数组的箱
- 【100分提问】顶者有分,关于vs2005里面调用一个ftp工具的问题!!回答有用继续加分!
- 【探讨】关于大规模ASP.net网站的更新问题
- 为什么在WIN2003中我设置好了IIS,可以跑ASP.NET的程序,但是WENSERVICE的程序却不能跑,报401的错误
- 谁来帮我看一下这段代码有什么错误!!
- 两个已有数据的datatable,结构一样,怎样把第各table的数据加入到第一个table中
- 数据库连接安全问题!
- **** DropDownList **** 异步刷新数据(续)
- asp.net点击按钮如何保存图片而不是打开图片?
自己查下用法吧
我想问一下,如果用户输入a的时候我让他延时300毫秒,紧接着输入b,这时候怎么把之前输入a的时候的请求cancel?
用意很简单,就是希望把用户输入的abc作为一次请求,而不是输入a的时候请求,输入b的时候又请求浪费性能
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function TestTimeOut() {
setTimeout(function () {
alert("a");
}, 3000);
// var t = setTimeout("alert('5 seconds!')", 3000);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<p></p>
<input id="Button2" onclick="TestTimeOut();" type="button" value="button" />
</div>
</form>
</body>
</html>
发现只要点击几次按钮就会alert几次,就是说 延时的代码不会被新请求覆盖、、
onblur,离开文本框的时候,请求不行吗?
setTimeout(
function(){
//code
},
300);
}这样?