2013-07-19 55 views
0

我目前有一個登錄屏幕,我禁用登錄按鈕,直到用戶輸入他們的賬號#和最後4個SSN。只要用戶手動輸入此信息,它就可以正常工作。但是,如果用戶決定使用自動填寫來填寫表單,則會遇到問題,因爲他們必須從輸入字段中取消標記,以便註冊輸入已輸入並啓用登錄按鈕。如何檢測用戶是否使用瀏覽器的自動填充來填充輸入?

當用戶自動完成所有操作時,是否可以自動啓用登錄按鈕(假設數據正確)?這是我到目前爲止有:

$("input[type=text], input[type=password]").on("keyup", enableLogIn); 
    $("input[type=text], input[type=password]").bind("paste", enableLogIn); 

    function enableLogIn() { 
     if ($("#AccountNumber").val().length < 6 || $("#SocialSecurityNumber").val().length < 4) { 
      $("#loginButton").attr("disabled", true); 
     } else { 
      $("#loginButton").attr("disabled", false); 
     } 
    } 
+0

嘗試使用'change'事件。 –

+0

我認爲這也等待他們列出。 – Barmar

+0

'change'事件需要焦點和模糊,這是行不通的。 – DevlshOne

回答

0

我認爲,當現場被修改,而無需等待tab鍵切換出edit事件將被觸發。另請注意,您可以將多個事件分配給.on

$("input[type=text], input[type=password]").on("keyup paste input", enableLogIn); 

但是,這可能是依賴於瀏覽器的,我不認爲舊版瀏覽器有這個事件。

+0

這個事件'編輯'是什麼?何時被解僱?可以找到它的DOC。你在打擾'輸入'事件嗎? –

+0

@roasted我認爲他的意思是[輸入](https://developer.mozilla.org/en-US/docs/Web/Reference/Events/input)事件 –

+0

你是對的。固定。 – Barmar

相關問題