JavaScript 按名称而不是 ID 模拟文本输入

javascript simulate text entry by name not id

本文关键字:ID 模拟 文本 输入 JavaScript      更新时间:2023-09-26

所以我知道我可以使用这样的东西运行一个javascript来按ID自动填充文本字段。

document.getElementById('user_name').value='admin';return false;

但是,对于没有 id 但有名称的文本字段,如何做同样的事情呢?我在上面的代码中必须更改什么?

<input class="inputw" size="15" name="phoneNumber" value="1234567890" maxlength="19">

我尝试了类似getElementbyName的东西,但没有奏效。

你忘了"s"字母。

document.getElementsByName("phoneNumber")[0].value = "admin";

取决于是否存在多个同名字段。 IDs必须是独一无二的name不是。如果只有一个字段name=phoneNumber请尝试以下操作:

document.getElementsByName('phoneNumber')[0].value='admin';

看起来您缺少.getElementsByName中的"s"

查看此处以获取更多信息 - https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByName。

.getElementsByName() - 返回 (X)HTML 文档中具有给定名称的元素列表。

如果有多个元素具有相同的名称,则方括号中的索引[0]更改为要访问的索引,或者您可以使用for循环依次对每个元素进行操作。

使用 getElementsByName

document.getElementsByName('phoneNumber')[0].value='admin';return false;

[0] 是集合中要面向的元素。如果只有一个,只需使用[0].

您可以使用 document.getElementsByName(name) ,这将返回具有所述名称的元素数组。指定要更改的元素的索引:

document.getElementsByName('phoneNumber')[0].value = 'test';