![](/img/trans.png)
[英]Is it possible to change document.activeElement in JavaScript?
[英]Using document.activeElement with an onChange event to validate a textbox only after textbox change is completed
我已經在我的開發系統上實現了以下代碼的一個版本。
function validateTextBox(textBoxId) {
var textBox = document.getElementById(textBoxId);
如果(document.activeElement.id.= textBox.id){
做驗證
}
}
HTML 類似於:
<input type="text" id="ValidateMe" onChange="validateTextBox('ValidateMe');"/>
這個想法是,只有在用戶完成編輯文本框后才會進行驗證,並且與 onBlur 事件不同,驗證僅在文本框的值實際更改時才會觸發。
它似乎有效,我只是對在沒有一些審查和反饋的情況下使用它持懷疑態度。 我還沒有看到任何類似的代碼示例。 因此,請告訴我您對實施的想法以及您可能有的任何替代想法。
謝謝
這是一個很好的解決方案。 請記住,onchange 事件通常只會在焦點更改時觸發(即 onblur)
如果您想在用戶鍵入時進行驗證,您可以使用 onkeydown/onkeyup/onkeypress 但這要困難得多。
此外,您可以使用this
,因此您不必為每個字段分配 id 並記住將其傳遞給 validate function:
function validate(input_element) {
alert(input_element.value)
}
<input type="text" name="name" onchange="validate(this);"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.