使用onkeyup JS事件检查输入的值是否唯一

时间:2012-09-13 08:40:26

标签: php javascript unique onkeyup

我正在验证一个名为客户端代码的唯一性字段 ...

为此,我使用了 onkeyup JS事件。 但是当我非常快速地键入键时它不能正常工作。在此

  

onkeyup事件

我发送一个ajax请求,检查输入的数据是否已经存在于表中。

如果有其他选择,请帮助..

3 个答案:

答案 0 :(得分:2)

我认为主要的问题是,AJAX需要一些时间。因此,如果您的用户输入速度非常快,您将向服务器发送许多请求,您将获得许多实际上不需要的答案。 一种可能的解决方案是,您在事件中暂停。例如等到用户没有输入大约500毫秒左右的字母。然后,您将请求发送到服务器 您的请求会减少,而且您的请求也不会混淆......

答案 1 :(得分:2)

就您似乎面临的实际问题而言,您的问题非常模糊。但我从中得出的结果是,你提出的快速键按下你发出的请求太多了!


正如您所知,Ajax就像一个普通的页面请求,只是完成了异步,所以它受到相同的网络延迟,吞吐量和往返限制的约束。

实现所需功能的一种简洁方法是使用一种名为限制的技术。用于此目的的最佳js插件之一位于此处:http://benalman.com/projects/jquery-throttle-debounce-plugin/ 它基本上允许您对服务器的请求进行速率限制,从而不会阻塞资源并提供流畅的UI。


此外,除非您想要捕获某些特殊键,例如 ESC ,否则我建议您使用keypresskeydown个事件。不记得它的具体推理,只是一个建议。

答案 2 :(得分:1)

使用onkeydown事件并检查event.charCode。即使快速连续按下打字,这也会激发。