2011-09-28 52 views
0

我有一個表單上的文本輸入,我需要檢查該值是否隨時更改。基本上,文本輸入是日期字段,我使用第三方腳本來彈出日曆,您可以在其中選擇日期,然後將其設置爲文本字段值。文本字段上的Javascript事件監聽器

所以這是我的問題。說當表單被加載時,如果有人點擊該字段並將其用鍵盤改爲1/2/11或者其他事件偵聽器啓動並執行函數I,則文本字段的值已經爲1/1/11想。我的問題是,如果有人點擊日曆圖標並選擇日期,雖然它改變了輸入字段的值,但它不會啓動事件處理程序。

我已經嘗試使用onchange事件處理程序直接在輸入框和輸入框的事件偵聽器上,並且它看起來都只有在焦點在該字段發生更改時纔會接受更改。這裏是事件監聽器腳本現在坐在方式..

document.getElementById('anchor1x').addEventListener('change', function() { 
    alert("date changed"); 
}, false); 

有什麼我可以做檢查,如果字段值是通過直接輸入或通過日曆中選擇改變是它通過用戶輸入?

+0

哪個第三方腳本正在執行日期選取器彈出? – Jacob

+0

日曆小部件可能允許您在選擇日期時傳遞迴調來執行。 – mikerobi

+0

這是我使用的日曆彈出窗口:http://www.mattkruse.com/javascript/calendarpopup/ 我能看到它的唯一操作是onmouseup操作,它在選擇日期後關閉日曆彈出窗口。我的第一個想法是將我的腳本添加到這個相同的動作中,但我無法使其工作。 –

回答

-2

也許是爲圖標添加一個事件監聽器?當它被選中時,它也會發射。

+1

該圖標適用於將日曆加載到div的onclick事件。我無法在相同的onclick中運行我的活動,因爲它需要等待選擇日曆日,而不是。我試過使用onblur,但顯然,當你點擊它時,只有當你通過時,圖像纔會有焦點。 –

+0

@Larry爲什麼不嘗試使用jQuery。我不確定JS是否具有相同的功能,但jQuery中的.live()函數在這裏可能證明是有用的: http://api.jquery.com/live/ 它實質上更進一步,允許在晚些時候引入的元素來觸發該功能。 – Phillip