[英]When a user clicks a button, I dynamically render date input field html5 but can't access event listener such as change
[英]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.