簡體   English   中英

輸入文本后如何啟動JQuery / ajax操作-Ruby on Rails

[英]How to launch JQuery/ajax action after text input - Ruby on Rails

我希望能夠在不單擊提交的情況下將URL輸入到表單中,以便頁面自動處理URL(處理需要3-5秒),然后返回有關網頁的某些信息(例如標題,圖像等) )。 例如,代碼將知道用戶何時停止鍵入信息,然后自動處理文本。

我正在使用Rails 3.1。 我是否應該具有每秒輪詢3或4次以接受URL的輪詢功能? 我希望這個網站一次可以被成千上萬的用戶使用,所以我希望這不會帶來太多開銷。 而且我擔心如果用戶手動輸入URL(而不是快速復制和粘貼),則自動處理器會處理仍在輸入的URL。

在處理過程中,我計划使用“加載”圖像。 我覺得這與自動完成功能類似。

你為什么不使用這樣的東西? mousekeyclick + keydown ..不管復制粘貼還是鍵入都可以使用。同樣在每個按鍵上發送請求都是不好的恕我直言。

您可以做的是在按下鼠標/鍵后將超時功能設置為0.8秒(可以根據您的要求而定)。 因此,在此持續時間內,如果未按下任何鍵,則發出請求;如果在此持續時間內按下某個鍵,則取消先前的超時功能:)

為什么不考慮文本框的onkeyPress或onkeydown事件上的“ Enter”鍵。 您可以向用戶指示“編寫URL並按Enter鍵以處理請求”。 帶標簽。 您也可以使用javascript的settimeout方法在一段時間后處理請求。

對於Eaxmple;

<input type="text" onkeypress="ProcessRequest(event)" />

和您的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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM