簡體   English   中英

讓事件監聽器觸發

[英]Getting event listener to fire

我有一個與PHP表單結合使用的腳本。 我正在嘗試獲取一個計數器字段,該字段放在我的代碼中,以便在填寫完員工ID字段后在表格上加一秒。

<script type="text/javascript">

var counter = 0;
var timer;
var employee = document.getElementsByName("employeeID")[0];

var employeeVal = document.getElementsByName("employeeID")[0].value;

employee.addEventListener("onchange", startCount);

function countUP () {
    counter = counter + 1; //increment the counter by 1
    document.getElementsByName("timer_container")[0].value = counter;
 }

 function startCount () {
    timer=setInterval('countUP()', 1000 );
 }

 function readonly() {
     document.getElementsByName("timer_container")[0].readOnly = true;
 }

</script>

我嘗試了不同的功能來查看事件監聽器是否正在觸發。 我也嘗試過使用其他事件,例如onclick,onblur和沒有任何運氣。 我已經使用了timer函數,並將其設置為直接在HTML的body標簽中onload,並且可以正常工作。 但是,我需要它能夠在有人將信息輸入到employee字段時立即運行。

首先,使用.addEventListener時不要在事件名稱中使用on on前綴僅用於具有HTML事件屬性的內聯事件綁定(這就是為什么它在<body onload=...>為您工作的原因)。 內聯事件HTML屬性不應該再使用了 因此,您的行應為:

employee.addEventListener("change", startCount);

如果要在輸入數據時觸發它,請使用input事件而不是change事件。

employee.addEventListener("input", startCount);

暫無
暫無

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

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