JavaScript中表单的操作(一)

214 阅读2分钟

这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战

表单

在网页中,我们一般用form表单,其中用HTMLFormElement类型表示,有自己的属性和方法,例如target表示用于发送请求和接收响应的窗口的名字。reset表示用于把表单字段重置为各自的默认值。submit表示用于提交表单。name表示表单的名字。acceptCharset表示服务器可以接收的字符集。method表示HTTP请求的方法类型。action表示请求的URL。length表示表单中的控件数量。elements表示表单中所有控件的HTMLCollection。enctype表示请求的编码类型。我们一般会给form表单默认写一个id,然后通过getElementById获取表单的id。也可以通过使用document.forms集合可以获取页面上所有的表单元素。

let zss = document.getElementById("meter");
let test = document.forms[0];
let age = document.forms["form2"];

表单提交

一般表单提交我们使用按钮来提交,我们定义按钮的type为submit或者我们使用回车键也可以进行表单的提交。但是我们需要注意的是,如果没有提交按钮的表单,我们即使进行了回车键的操作也不会有表单的提交。如果我们想阻止表单的提交,我们可以调用preventDefault的方法。但是还存在一个问题,就是当用户多次点击提交按钮,可能会导致表单的多次提交,此时我们可以通过表单提交后禁用提交按钮或者onsubmit事件处理程序取消之后的表单提交,这两种方法进行解决。

<button type="submit">提交按钮</button>

表单重置

表单重置一般我们使用reset方法,,所有表单字段都会重置回页面第一次渲染时各自拥有的值。如果字段原来是空的,就会变成空的;如果字段有默认值,则恢复为默认值。但是一般我们不用重置表单,因为重置表单会使用户体验很不好。如果我们多个表单控件使用了同一个name,比如像单选按钮那样,则会返回包含所有同名元素的HTMLCollection

<button type="reset">重置表单</button>

表单的属性

表单中我们常用的属性和方法比如有name用来表示字段的名字。form表示指向字段所属的表单,这个属性是只读的。disabled表示表单字段是否禁用。readOnly用来表示这个字段是否只读。value表示用于提交服务器的字段值,也是只读的。type用来表示字段类型。tabIndex用来表示这个字段在按Tab键时的切换顺序。