DOM表单元素获取和事件,HTMLCollection 对象

目录

表单元素的获取

表单元素的事件

表单事件form

 onsubmit:提交事件

 onreset:重置事件

 表单元素事件  input

 onfocus:获取焦点

 onblur:失去焦点

 onchange:事件

oninput:输出的时候实时触发  在IE8及以下不会触发但是不会报错 IE独有的 onpropertychange 

HTMLCollection 对象

HTMLCollection 对象 length 属性


表单元素的获取

  • 语法:form.name值;

  • 返回值:单个name值获取到具体的元素,多个name值获取到一个集合

  <form action="" id="form">
        <p>请输入用户名:<input type="text" name="user"></p>
        <p>请输入密码:<input type="password" name="password"></p>
        <p>请选择性别:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" checked value="女">女</p>
        <p>请选择爱好:
            <input type="checkbox" name='habby'>干饭
            <input type="checkbox" name='habby'> 睡觉
            <input type="checkbox" name='habby'> 打呼
            <input type="checkbox" name='habby'> 磨牙
            <input type="checkbox" name='habby'> 梦游
            <input type="checkbox" name='habby'> 做梦
        </p>
    </form>
    <script>
        var form = document.querySelector("form");

        // form.name值;
        console.log(form.user);//<input type="text" name="user">
        console.log(form.password);//<input type="password" name="password">
        console.log(form.sex); //RadioNodeList(2) [input, input, value: '女']
        console.log(form.habby);//RadioNodeList(6) [input, input, input, input, input, input, value: ""]

表单元素的事件

表单事件form

 onsubmit:提交事件

        return true;  提交

        return false:不提交

 form.onsubmit = function () {
            // return true;
            return false;
        }

 onreset:重置事件

        return true;  重置

        return false:不重置

 form.onreset = function () {
            // return true;
            return false;
        }

 表单元素事件  input

 onfocus:获取焦点

 onblur:失去焦点

 onchange:事件

  user.onfocus = function () {
            this.style.backgroundColor = "red";
        }
        // onblur:失去焦点
        user.onblur = function () {
            this.style.backgroundColor = "blue";

        }
        // onchange:输入内容改变失去焦点时候触发 (内容要改变) 
        password.onchange = function () {
            console.log(this.value);
        }

oninput:输出的时候实时触发  在IE8及以下不会触发但是不会报错
 IE独有的 onpropertychange 

// oninput:输出的时候实时触发  在IE8及以下不会触发但是不会报错
        // IE独有的 onpropertychange
        email.oninput = test;
        // 兼容处理
        email.onpropertychange = test;

        function test() {
            console.log(this.value);
        }

HTMLCollection 对象

getElementsByTagName() 方法返回 HTMLCollection 对象。

HTMLCollection 对象类似包含 HTML 元素的一个数组。

var x = document.getElementsByTagName("p");

集合中的元素可以通过索引(以 0 为起始位置)来访问。

访问第二个 <p> 元素可以是以下代码:

y = x[1];

HTMLCollection 对象 length 属性

HTMLCollection 对象的 length 属性定义了集合中元素的数量。

HTMLCollection 不是一个数组!

HTMLCollection 看起来可能是一个数组,但其实不是。

你可以像数组一样,使用索引来获取元素。

HTMLCollection 无法使用数组的方法: valueOf(), pop(), push(), 或 join() 。

猜你喜欢

转载自blog.csdn.net/weixin_58139900/article/details/121195741