我爲登錄面板創建了一個服務器控件。 在此面板上,我有一個用於用戶名和密碼的文本框的文本框。 下方有登錄按鈕。Jquery:瀏覽器填充文本框後啓動函數
我希望按鈕被禁用,如果其中一個或兩個文本框都爲空。
爲此,我創建了一個函數來檢查文本框內容的長度。
function doCheck()
{
var lngth1 = document.getElementById('pnLogin_txtUserName').value.length;
var lngth2 = document.getElementById('pnLogin_txtPassword').value.length;
if (lngth1 > 0 && lngth2 > 0)
{
$('#pnLogin_btLogin').removeAttr('disabled');
} else {
$('#pnLogin_btLogin').attr('disabled','disabled');
}
}
我在開始和每個keyup事件中運行此函數。 這很好。
問題是當瀏覽器啓動頁面時。如果它們被存儲,它將填入用戶名和密碼。 然後運行該功能時,即使文本框中有信息,仍會禁用該按鈕。
我嘗試這樣做:
setTimeout(function()
{
doCheck();
}, 2000);
但2秒後我看到按鈕禁用,而看到我的憑證填寫
如果我檢查Chrome中的元素,我看不到我的憑據。在html代碼中。 那麼它存儲在哪裏?我如何檢測這個?
如果您使用的是jQuery,那麼無處不在。你試過'$(document).ready(function(){//你的代碼在這裏});'? – lmgonzalves
是的,我做到了。我只是混淆了JavaScript以查看它是否可行。 – Eric