簡體   English   中英

僅在文本框更改完成后使用帶有 onChange 事件的 document.activeElement 來驗證文本框

[英]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.

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