JavaScript 中的文字框事件
在 JavaScript 應用程式中,使用者介面是使用者互動的網頁部分。我們輸入的文字和我們點選的按鈕組合起來形成一個使用者介面。
在 JavaScript 中,我們有文字框事件,它們是在瀏覽器中發生的動作。我們通過輸入輸入並在文字框中提交表單來觸發這些事件。
我們分配一個事件處理程式來響應和處理 JavaScript 中的這些事件。使用者對任何表單元素的操作在 JavaScript 中都被視為一個事件,包括滑鼠移動、滑鼠點選、鍵盤輸入等。
事件處理程式是我們與使用者介面元素類別的事件相關聯的 JavaScript 文字。建立事件處理程式的最常見方法是指定一個函式,以便在事件發生時首先執行。
本文將討論使用可編輯輸入的 oninput
和 oninvalid
屬性。
JavaScript 中的文字框 oninput
事件
oninput
事件在元素獲得使用者輸入時發生。此事件僅在 <input>
或 <textarea>
元素的值發生更改時發生。
以下示例程式碼演示了從使用者獲取輸入的 oninput
事件。
<!DOCTYPE html>
<html>
<body>
<p>Using oninput event to get input.</p>
<p>Enter input to trigger the function.</p>
Enter the name: <input type="text" id="myinput" value="John">
<script>
document.getElementById("myinput").oninput = function() {myFunc()};
function myFunc() {
alert("The value of the input was changed.");
}
</script>
</body>
</html>
請參閱此連結中上述程式碼的演示和輸出。
正如我們在程式碼中看到的,我們將輸入值分配給 Jon 並建立了一個名為 myFunction()
的函式。更改輸入或文字區域元素時呼叫此函式。
因此,當我們執行程式碼並更改輸入元素時,我們會收到一條訊息:輸入欄位的值已更改
。通過改變輸入元素,oninput
事件發生。
JavaScript 中的文字框 oninvalid
事件
我們在 JavaScript 中有另一個名為 oninvalid
的文字框事件。當使用者輸入的可提交輸入元素無效時,會發生此事件。
例如,當使用者點選提交按鈕但未填寫時,required 屬性指定必須在提交表單之前填寫輸入內容。在這種情況下,會發生 oninvalid
事件。
讓我們使用下面的程式碼示例來理解這個事件。
<!DOCTYPE html>
<html>
<body>
<form action="/action_page.php" method="get">
Name: <input type="text" oninvalid="alert('You must fill out the form!');" name="fname" required>
<input type="submit" value="Submit">
</form>
<p>If you click submit, without filling out the text field,
an alert message will occur.</p>
<p><strong>Note:</strong> The oninvalid event is not supported in Internet Explorer 9 and earlier.</p>
</body>
</html>
單擊此連結以檢視上面的工作程式碼。
我們在程式碼中指定了 You must fill out the form
的條件,因此使用者必須在單擊提交按鈕之前輸入一些內容。
當我們執行程式碼,並且使用者在沒有填寫輸入部分的情況下點選提交按鈕時,oninvalid
事件將被呼叫,並向使用者顯示一條警告訊息。這就是我們使用 JavaScript 使用 oninvalid
文字框事件的方式。
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn