簡體   English   中英

當用戶在編輯后單擊鏈接時,如何從HTML文本字段捕獲更改事件?

[英]How can I catch a change event from an HTML text field when a user clicks on a link after editing?

我們的Web應用程序具有一個表單,其中的字段和值根據輸入的值而變化。 每次在其中一個表單元素上發生更改事件時,我們都會使用昂貴的AJAX調用來更新頁面上的其他元素。

這非常適合選擇,單選按鈕和復選框。 當用戶向文本字段中添加內容,然后單擊鏈接而沒有從文本字段獲得焦點時,就會出現問題。 瀏覽器將移至新頁面,並且永遠不會保存文本字段的內容。 有沒有一種簡便的方法可以對此進行編碼? 每次按鍵都無法撥打AJAX呼叫,這太昂貴了。

這是目前我的原型代碼的示例:

$$('.productOption input.text').invoke('observe', 'change', saveChangeEvent);

您是否考慮過加入窗口unload()事件? 這是使用.unload()的ac / p jQuery示例。

$(window).unload(function() {
  var input = $("#MyInput");  // Text field to check for

  if(input.length > 0)
  {
     //Ajax call to save data, make sure async:false is set on ajax call.
  }
});

這樣,您就可以在每次按鍵時都進行呼叫(如果他們離開頁面時進行一次呼叫)。

使用原型,您可以在鍵入和發送ajax查詢時(例如,自上次AJAX請求以來2秒鍾未發生任何變化且值已更改),讓PeriodicExecuter監聽,同時發送ajax查詢。 使用焦點事件啟動執行程序,並使用模糊事件將其關閉,這樣您一次只需要一個執行程序

暫無
暫無

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

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