JavaScript中document.forms[0]与getElementByName区别

yizhihongxing

在JavaScript中获取表单元素,有两种常见的方式:利用document.forms与利用document.getElementsByName,这两种方式的使用有着许多的不同之处。

document.forms[0]的使用

document.forms属性返回当前文档中所有表单的集合,可以通过下标进行访问,如document.forms[0]就表示获取页面中第一个表单元素。

例如,假设有以下的HTML代码:

<form id="myForm">
    <label for="username">用户名:</label>
    <input type="text" name="username" id="username">
    <label for="password">密码:</label>
    <input type="password" name="password" id="password">
    <input type="submit" value="提交">
</form>

可以通过以下方式获取到表单元素:

var myForm = document.forms[0];

然后就可以通过表单元素的name或id属性来获取输入框的值,如:

var username = myForm.username.value;
var password = myForm.password.value;

document.getElementsByName的使用

document.getElementsByName方法根据指定的表单元素的name属性值或标签名,返回具有指定名称/标签的所有元素的集合。该方法返回的是一个NodeList类型的集合对象。

例如,假设有以下的HTML代码:

<form>
    <label for="username">用户名:</label>
    <input type="text" name="username" id="username">
    <label for="password">密码:</label>
    <input type="password" name="password" id="password">
    <input type="submit" value="提交">
</form>

可以通过以下方式获取到表单元素:

var usernameInput = document.getElementsByName("username")[0];
var passwordInput = document.getElementsByName("password")[0];

然后就可以通过表单元素的value属性来获取输入框的值,如:

var username = usernameInput.value;
var password = passwordInput.value;

两种方式的区别

  • document.forms返回的是表单集合,而document.getElementsByName返回的是指定名称/标签的元素集合。
  • document.forms返回的集合对象是一个HTMLCollection类型的对象,而document.getElementsByName返回的是一个NodeList类型的对象。
  • document.forms只能通过访问表单元素的下标或id属性来访问表单元素,而document.getElementsByName可以通过访问表单元素的name或id属性来访问表单元素。

因此,当页面中只有一个表单元素时,使用document.forms[0]document.getElementsByName("formName")[0]可以得到相同的结果,但在页面中有多个表单元素时,document.forms[0]会返回第一个表单元素,而document.getElementsByName返回指定的所有表单元素。

总之,在实际使用中需要根据具体情况,选择不同的方式访问表单元素。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript中document.forms[0]与getElementByName区别 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • asp.net javascript 文件无刷新上传实例代码第1/2页

    首先,该攻略讲解的是如何实现ASP.NET网页中的JavaScript文件无刷新上传功能。下面是该攻略的完整内容: 1. 确定需求 在开始编写代码之前,我们需要先确定需求,也就是我们所要实现的功能,具体如下: 实现文件上传功能,可以上传任意格式的文件。 不刷新页面。 实现进度提示。 2. 编写前端代码 我们可以通过前端页面来实现文件上传的功能。代码可以使用H…

    JavaScript 2023年6月11日
    00
  • JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)

    下面是详细的攻略: 问题背景 在前端开发中,我们经常需要控制用户输入的字符串长度。而一些中文字符在计算长度时需要算作2个字符,而英文字母和数字只算作一个字符,因此需要一种准确计算字符串长度的方法。 解决方案 我们可以通过遍历字符串的每个字符,对于中文字符的长度算作2,英文字母和数字的长度算作1,最后累加每个字符的长度来得到字符串的实际长度。 示例代码 以下是…

    JavaScript 2023年5月28日
    00
  • 页面只能打开一次Cooike如何实现

    实现页面只能打开一次 Cookie 的方法可以通过在用户访问首次打开页面时,设置一个标记位cookie,如果后续用户再次访问相同的页面,判断是否存在该标记位。 下面给出两条示例来说明如何实现: 示例一:使用JavaScript和Cookie实现页面只能打开一次 JavaScript中可以使用 document.cookie 来获取、设置、删除cookie。我…

    JavaScript 2023年6月11日
    00
  • Javascript定义类(class)的三种方法详解

    Javascript定义类(class)的三种方法详解 1. ES6 Class 首先,“ES6 Class”是一种相对简单的定义类的方法,它采用了一种“类”的概念,并以“class”关键字来定义类。这种方法最常用,也是最简单的定义类的方式。 class Person { constructor(name, age) { this.name = name; …

    JavaScript 2023年5月27日
    00
  • JS简单实现DIV相对于浏览器固定位置不变的方法

    下面是JS简单实现DIV相对于浏览器固定位置不变的方法的完整攻略: 步骤一:设置CSS样式 首先,我们需要在HTML页面中定义一个div,然后为该div设置CSS样式,使其固定在浏览器的某个位置。例如,我们可以设置该div的position属性为”fixed”,然后指定它距离浏览器顶部的距离为0px,即可使之固定在浏览器顶部。 HTML代码如下: <d…

    JavaScript 2023年6月10日
    00
  • 在Javascript中 声明时用”var”与不用”var”的区别

    在 JavaScript 中,声明变量时可以使用 var 关键字或省略该关键字。这两种方式在行为上是不同的,以下是它们之间的区别: 使用 var 声明变量 在 JavaScript 中,使用 var 关键字声明变量时,变量会被限制在当前的执行环境中。这意味着,在声明变量的函数内部,使用 var 定义的变量是该函数内部私有的,并且在全局(window)范围之外…

    JavaScript 2023年6月10日
    00
  • JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)

    现在我将详细讲解 JavaScript 中 charCodeAt 方法的使用,以及使用该方法取得指定位置字符的 Unicode 编码的完整攻略。 什么是 charCodeAt 方法? charCodeAt 方法是 JavaScript String 对象的一个方法,它用来返回字符串中指定位置的字符的 Unicode 编码值。它的语法格式如下: str.cha…

    JavaScript 2023年5月20日
    00
  • javascript动态创建及删除元素的方法

    下面我来详细讲解“javascript动态创建及删除元素的方法”的完整攻略。 1. 动态创建元素 1.1 createElement方法 要动态创建元素,首先需要使用document.createElement()方法来创建一个指定类型的HTML元素。例如,如果我们想要创建一个<div>元素,就可以使用如下代码: let divElement =…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部