我正在验证一个名为客户端代码的字段的唯一性......
为此,我使用了onkeyup JS 事件。但是当我快速键入键时它不能正常工作。在这
onkeyup 事件
我正在发送一个 ajax 请求来检查输入的数据是否已经存在于表中。
如果有任何选择,请帮助..
我正在验证一个名为客户端代码的字段的唯一性......
为此,我使用了onkeyup JS 事件。但是当我快速键入键时它不能正常工作。在这
onkeyup 事件
我正在发送一个 ajax 请求来检查输入的数据是否已经存在于表中。
如果有任何选择,请帮助..
我认为主要问题是,AJAX 需要一些时间。因此,如果您的用户输入非常快,您将向您的服务器发送许多请求,并且您会得到许多实际上不需要的答案。一种可能的解决方案是,您在事件中设置超时。例如,等到用户在大约 500 毫秒左右没有输入字母。在此之后,您将您的请求发送到服务器。
你的要求会更少,而且你的要求也不能混为一谈......
就您似乎面临的实际问题而言,您的问题非常模糊。但是我从中得出的结论是,当您建议快速按键时,您发出了太多请求!
如您所知,Ajax
它就像一个普通的页面请求,只是异步完成的,因此它受到相同的网络延迟、吞吐量和往返限制。
实现所需功能的一种简洁方法是使用一种称为throttling的技术。用于此目的的最佳js
插件之一位于此处: http ://benalman.com/projects/jquery-throttle-debounce-plugin/
它基本上允许您对对服务器的请求进行速率限制,从而不会阻塞资源和提供流畅的用户界面。
此外,除非您希望捕获某些特殊键,例如ESC,否则我建议您使用keypress
orkeydown
事件。不记得具体的原因了,只是一个建议。
使用onkeydown
事件和检查event.charCode
。即使在快速连续按下打字时也会触发。