【问题标题】:Check if the entered value is unique using onkeyup JS event使用 onkeyup JS 事件检查输入的值是否唯一
【发布时间】:2012-09-13 08:40:25
【问题描述】:

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

我为此使用了 onkeyup JS 事件。 但是当我快速键入键时它不能正常工作。关于这个

onkeyup 事件

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

如果有任何替代方案,请提供帮助..

【问题讨论】:

    标签: php javascript unique onkeyup


    【解决方案1】:

    就您似乎面临的实际问题而言,您的问题相当模糊。但是我从中得出的结论是,当您建议快速按键时,您发出了太多请求!


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

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


    此外,除非您希望捕获某些特殊键,例如 ESC,否则我建议使用 keypresskeydown 事件。具体原因不记得了,只是一个建议。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的..这似乎很有帮助..但是你能指导我..如何让这个事件等待..我正在用javascript做..所以它是如何实现的。 .
      • @do_do_do - 每隔一段时间排队和释放请求的技术称为限制。我已经链接到一个很好的资源来帮助这个技术,不管有没有 jQuery。
      【解决方案3】:

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

      【讨论】:

      • 哦。我很抱歉。但这对我没有帮助..它给了我同样的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      相关资源
      最近更新 更多