JavaScript-DOM操作表单

news2024/11/26 8:33:49

目录

表单事件

表单方法

操作表单

获取表单的值

表单内容html

checkbox的获取办法 


 

表单事件

 

 

注意:onsubmit,onreset只能给表单添加

表单.submit ;表单.onreset;

            form.onsubmit=function(){
                alert('表单即将被提交');
            };
            form.onreset=function(){
                alert('表单即将被重置');
            };

            form.username.oninput = function () {
                console.log('有新的内容输入');
            };
            form.sel.onchange = function () {
                console.log('选择内容有变化');
            };

表单方法

  • 表单.submit()      提交表单
  • 表单.reset()    重置表单

事件需要有动作才可以实行(比如点击触发,方法可以不用动作,调用即可) 

            form.send.onclick = function () {
                // form.submit();
                form.reset();//会触发onreset事件
            };

 

 

操作表单

获取表单的值

node.value

        input

        select

        textarea

表单内容html

 <form action="#" id="form">
        <input type="text" name="username" value="">
        <p>性别
            <input type="radio" name="sex" value="男">男
            <input type="radio" name="sex" value="女">女
        </p>
        <p>兴趣
            <input type="checkbox" name="interest" value="吃饭">吃饭
            <input type="checkbox" name="interest" value="睡觉">睡觉
            <input type="checkbox" name="interest" value="学习">学习

        </p>
        <p>来自于
            <select name="sel" id="">
                <option value="北京">北京</option>
                <option value="纽约">纽约</option>
                <option value="华尔街">华尔街</option>
            </select>
        </p>
        <textarea name="text" cols="30" rows="10"></textarea>
        <input type="button" name="btn" value="点击" />
        <input type="submit" name="sub" value="提交" />
        <input type="reset" name="res" value="重置" />
        <input type="button" name="send" value="发送" />
    </form>

代码中给每个表单添加了name属性,用这个属性去获取相应的表单元素

可以通过form.name获取表单


            form.btn.onclick = function () {
                console.log(form.username.value);//获取到输入框的值
                console.log(form.sex.value);//获取单选框的值

                console.log(form.interest.value);

                console.log(form.sel.value);//获取选择框的值

             
            };
        };

运行一下,控制台截图

checkbox的获取办法 

checkbox(兴趣) 的值没有成功获取到。下面介绍checkbox的获取办法

声明一个数组,遍历checkbox,如果checkbox被选中就将此checkbox的内容push到数组中。

                var arr = [];

                for (var i = 0; i < form.interest.length; i++) {
                    if (form.interest[i].checked) {
                        arr.push(form.interest[i].value);
                    }
                }
                console.log(arr);

 

全文使用代码完整如下

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <form action="#" id="form">
        <input type="text" name="username" value="">
        <p>性别
            <input type="radio" name="sex" value="男">男
            <input type="radio" name="sex" value="女">女
        </p>
        <p>兴趣
            <input type="checkbox" name="interest" value="吃饭">吃饭
            <input type="checkbox" name="interest" value="睡觉">睡觉
            <input type="checkbox" name="interest" value="学习">学习

        </p>
        <p>来自于
            <select name="sel" id="">
                <option value="北京">北京</option>
                <option value="纽约">纽约</option>
                <option value="华尔街">华尔街</option>
            </select>
        </p>
        <textarea name="text" cols="30" rows="10"></textarea>
        <input type="button" name="btn" value="点击" />
        <input type="submit" name="sub" value="提交" />
        <input type="reset" name="res" value="重置" />
        <input type="button" name="send" value="发送" />
    </form>
    <script>
        window.onload = function () {
            var form = document.getElementById("form");

            form.btn.onclick = function () {
                console.log(form.username.value);//获取到输入框的值
                console.log(form.sex.value);//获取单选框的值

                console.log(form.interest.value);

                console.log(form.sel.value);//获取选择框的值

                // 获取到checkbox的值
                // console.log(form.interest[0].value);

                var arr = [];

                for (var i = 0; i < form.interest.length; i++) {
                    if (form.interest[i].checked) {
                        arr.push(form.interest[i].value);
                    }
                }
                console.log(arr);
            };
            form.username.oninput = function () {
                console.log('有新的内容输入');
            };
            form.sel.onchange = function () {
                console.log('选择内容有变化');
            };
            form.onsubmit = function () {
                alert('表单即将被提交');
            };
            form.onreset = function () {
                alert('表单即将被重置');
            };
            form.send.onclick = function () {
                // form.submit();
                form.reset();//会触发onreset事件
            };

        };

    </script>
</body>

</html>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/86262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT:竟然精通ENVI IDL、ArcGIS等软件!

目录 01 使用途径 02 使用 01 使用途径 我试了很多网站&#xff0c;包括注册登录、插件、镜像网站&#xff0c;微信机器人&#xff0c;QQ机器人&#xff0c;但是目前这些或多或少都由于OpenAI的限制无法正常使用。所以总的来说需要科学上网并且需要国外手机号&#xff0c;这有…

CCIE-重认证-300-410-补充题库-必须的哟

实验题 VRF router bgp 65000 bgp router-id x bgp log-neighbor-cha address-fa ipv4 vrf green red con neigh x remote-as 65000 neigh x act 重复red inter e0/0 ip vrf for red ip add x x 重复e0/1,for green inter e0/2.100 enc dot 100 ip vrf for red ip add x x …

无工具情况下linux数据库命(postgresql)令行建表操作文档

首先将帮助文档下的test.sql放在服务器的某个位置。sql文件如下图&#xff1a; /*Navicat Premium Data TransferSource Server : postgres-123Source Server Type : PostgreSQLSource Server Version : 100010Source Host : 192.168.3.123:5432Source C…

完全开源的代码生成器之code-generator

什么是code-generator code-generator是一个低代码平台, 可以解决90%单表增删改查工作量, 你可以通过自定义代码模板来生成适合自己的代码。 目前该系统主要针对的是语言是java, 数据源是mysql(其他数据库待测试)&#xff0c;数据源支持mysql, oracle, dm, PostgreSql等数据库…

[附源码]计算机毕业设计的在线作业批改系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis MavenVue等等组成&#xff0c;B/S模式…

Revit 中注释族的应用详解及公共族库工具

一、Revit 中注释族的应用详解&#xff1a; 注释族是用来表示二维注释的族文件&#xff0c;它被广泛用于很多构件的二维视图表现。下面以一个实例来说明注释族的应用 1、注释族创建实例 用“公制常规注释.rft”族样板创建一个注释族&#xff0c;在“族类别和族参数”对话框中选…

视觉SLAM ch9

状态估计的概率解释&#xff1a;位姿x和路标y服从某种概率分布&#xff0c;目的是通过某些运动数据u&#xff08;比如惯性测量传感器IMU输入&#xff09;和观测数据z&#xff08;比如拍摄到的照片像素点的值&#xff09;来确定状态量x和y的分布。 一、关于卡尔曼滤波器和扩展卡…

ssm+Vue计算机毕业设计校园食堂订餐系统(程序+LW文档)

ssmVue计算机毕业设计校园食堂订餐系统&#xff08;程序LW文档&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技…

Vim解决问题的方式

目录1 认识 . 命令2 不要自我重复3 以退为进4 执行、重复、回退5 查找并手动替换1 认识 . 命令 . 命令让我们重复上次的修改&#xff0c;它是Vim中最为强大的多面手。我们来练习下&#xff0c;如何快速的在vim进行操作&#xff0c;由下图形&#xff1a; 转成如下图形&#x…

win10下CH340模块下载stc89c52程序

没想到读研究生了还有水课需要用上51单片机&#xff0c;本科的时候一直是用开发板烧录程序的&#xff0c;这次舍不得花钱买开发板只能瞎折腾了。 准备材料 1.ch340转接板&#xff0c;最普通的那种3~5块钱 2.买的是一个焊接好的小单片机系统 &#xff08;BB一句&#xff0c;这…

内皮细胞生长添加剂(ECGF/ECGS)丨艾美捷解决方案

内皮细胞生长添加剂&#xff08;ECGF/ECGS&#xff09;是一种内皮细胞体外培养不可缺少的补充物质&#xff0c;可以优化细胞的体外生长环境&#xff0c;促进内皮细胞的正常增殖和生长。ECGF/ECGS是一种无菌浓缩&#xff08;100X&#xff09;溶液&#xff0c;含有正常人内皮细胞…

仅5天注册用户超百万,爆火ChatGPT究竟是什么?

作者&#xff1a;qizailiu&#xff0c;腾讯 IEG 应用研究员&#xff0c;来自腾讯技术工程 OpenAI 近期发布聊天机器人模型 ChatGPT&#xff0c;迅速出圈全网。它以对话方式进行交互。以更贴近人的对话方式与使用者互动&#xff0c;可以回答问题、承认错误、挑战不正确的前提、拒…

大数据集群HIVESQL经常执行失败问题调查

一、背景 BI集群&#xff0c;有60多个节点&#xff0c;2P数据&#xff0c;机器都已经运行了3年以上 二、现象 提交hive任务会经常失败&#xff0c;有时候能成功&#xff0c;上午失败概率大&#xff0c;下午成功的概率大。 异常日志&#xff1a; 日志1、 2021-09-30 08:28:35.…

攻防世界 easyphp

Easyphp 对于初学者其实一点也不easy哈 打开题目场景 <?php highlight_file(__FILE__); $key1 0; $key2 0;$a $_GET[a]; $b $_GET[b];if(isset($a) && intval($a) > 6000000 && strlen($a) < 3){if(isset($b) && 8b184b substr(md5($…

xxljob-core包handler文件夹里面的文件,MethodJobHandler类,让我们自己项目使用,就是将要执行的方法放到人家对象里面

目录 1 handler文件夹2 总结1 handler文件夹 以上是目录结构。 IJobHandler 是一个抽象类,具体的实现类就是impl里面的文件 那这个抽象类里面有什么方法 /*** job handler 任务处理触发器* 就是 要执行哪些代码* 抽象类* @author jing*/ public abstract class IJobHand…

Postgresql源码(93)Postgresql函数内事务控制实现原理(附带Oracle对比)

相关 《Postgresql源码&#xff08;60&#xff09;事务系统总结》 《Postgresql源码&#xff08;93&#xff09;Postgresql函数内事务控制实现原理&#xff08;附带Oracle对比&#xff09;》 0 总结 Postgresql与Oracle都是扁平化处理函数内外的事务控制语句的&#xff1a;即函…

aws eks 节点驱逐和OOMkill

资料 解决 K8s 调度不均衡问题kubernetes pod内容器状态OOMKilled和退出码137全流程解析 集群中pod触发oom的原因 默认pod能够使用节点的全部可用资源。节点的可分配资源如下 Allocatable Node Capacity - &#xff08;kube-reserved&#xff09; - &#xff08;system-res…

Linux基本指令(2)

Linux基本指令(2) &#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客将展示25-30个LInux中常用的命令&#xff0c;…

计算机网络第9章 无线网络和移动网络

目录 9.1 无线局域网 WLAN 9.1.1 无线局域网的组成 1. 无线局域网 WLAN (Wireless Local Area Network) 2. IEEE 802.11 3. 移动自组网络 9.1.2 802.11 局域网的物理层 9.1.3 802.11 局域网的 MAC 层协议 1. CSMA/CA 协议 2. 时间间隔 DIFS 的重要性 3. MAC两个子层…

fpga实操训练(按键消抖)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 之前我们谈到按键输入&#xff0c;其中涉及的功能就是&#xff0c;当按键按下的时候&#xff0c;led灯亮起来。等到按键弹起来的时候&#xff0c;l…