oninvalid 이벤트

정의와 사용법

提交 가능한 <input> 요소가 유효하지 않을 때 oninvalid 이벤트가 발생합니다.

예를 들어, required 속성이 설정되었고 필드가 비어 있으면 입력 필드가 유효하지 않습니다(required 속성은 입력 필드가 양식 제출 전에 필수로 입력되어야 한다고 지정합니다).

实例

例子 1

如果输入字段无效,则提示一些文本:

<input type="text" oninvalid="alert('You must fill out the form!');" required>

본인이 직접 시도해보세요

页面下方有更多 TIY 实例。

语法

在 HTML 中:

<element oninvalid="myScript">

본인이 직접 시도해보세요

在 JavaScript 中:

object.oninvalid = function(){myScript};

본인이 직접 시도해보세요

在 JavaScript 中,使用 addEventListener() 方法:

object.addEventListener("invalid", myScript);

본인이 직접 시도해보세요

注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法

技术细节

冒泡: 不支持
可取消: 支持
事件类型: Event
支持的 HTML 标签: <input>
DOM 版本: Level 3 Events

浏览器支持

表中的数字注明了完全支持该事件的首个浏览器版本。

事件 Chrome IE Firefox Safari Opera
oninvalid 支持 10.0 支持 支持 支持

更多实例

例子 2

如果输入字段包含少于 6 个字符,则提示一些文本:

Name: <input type="text" id="myInput" name="fname" pattern=".{6,}" required>
<script>
document.getElementById("myInput").addEventListener("invalid", myFunction);
function myFunction() {
  alert("Must contain 6 or more characters");
}
</script>

본인이 직접 시도해보세요

例子 3

如果输入字段包含小于 2 或大于 5 的数字,则提示一些文本:

Number: <input type="number" id="myInput" name="quantity" min="2" max="5" required>
<script>
document.getElementById("myInput").addEventListener("invalid", myFunction);
function myFunction() {
  alert("You must pick a number between 2 and 5. You chose: " + this.value);
}
</script>

본인이 직접 시도해보세요

관련 페이지

JavaScript 강의: JavaScript 양식