首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文本输入后启动JQuery/ajax操作- Ruby on Rails

如何在文本输入后启动JQuery/ajax操作- Ruby on Rails
EN

Stack Overflow用户
提问于 2012-01-03 15:13:45
回答 2查看 390关注 0票数 1

我希望能够在表单中输入URL,而无需单击提交,以便页面自动处理URL (处理需要3-5秒),然后返回有关网页的一些信息(如标题、图像等)。例如,代码将知道用户何时停止键入信息,然后自动处理文本。

我使用的是Rails 3.1。我是否应该有一个每秒轮询3到4次以接受URL的轮询函数?我希望这个网站能被成千上万的用户同时使用,所以我希望这不会带来太多的开销。我担心,如果用户手动输入URL (而不是快速复制和粘贴),自动处理器会在URL仍在输入时处理它。

在处理过程中,我计划使用“加载”图像。我觉得这与文本自动补全有相似之处。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-03 15:23:30

你为什么不用像这样的东西。mousekeyclick+按键..无论是复制粘贴还是键入..另外,在每次按下时发送请求都是不好的。

您可以做的是设置0.8秒的超时功能(可以根据您的要求而变化),在鼠标/键被按下后。因此,在此持续时间内,如果没有按下某个键,则发出请求,如果在此持续时间内按下了某个键,则取消之前的超时函数:)

票数 1
EN

Stack Overflow用户

发布于 2012-01-03 16:03:40

为什么不考虑一下onkeyPress上的“Enter”键或者textbox的onkeydown事件。你可以告诉你的用户“写下url,然后按回车键来处理请求”。有标签的。您还可以使用javascript的settimeout方法在一段时间后处理请求。

对于Eaxmple;

代码语言:javascript
复制
<input type="text" onkeypress="ProcessRequest(event)" />

你的javascript应该是这样的..

代码语言:javascript
复制
 <script type="text/javascript">
    function ProcessRequest(e)
    {
       if(e.keyCode == 13)// 13 is the key code of 'Enter' key
       {
           var t=setTimeout("ProcessURL()",4000);
       }
       else 
           return false;
    }
    function ProcessURL()
    {
      // your code to submit url
    }
    </script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8709039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档