【问题标题】:Fill in a input field on a website with JavaScript if it has no id?如果没有 id,用 JavaScript 填写网站上的输入字段?
【发布时间】:2020-02-27 22:07:50
【问题描述】:

如果网站没有 id,我如何使用 JavaScript 填写输入字段?示例:

<input type="text" placeholder="First Name" value="" class="someclass">
<input type="text" placeholder="Last Name" value="" class="someclass">

我只想填写第一个输入字段。

如果它有一个 ID,我可以做 document.getElementById... 类和类型由网站上的几个输入字段使用。我可以以某种方式使用占位符吗?

【问题讨论】:

  • .someclass -> 项目 0 -> 值
  • ID 不是选择元素的唯一方法。您可以按类、在 DOM 中的位置等来完成。见querySelector
  • document.querySelector('.someclasss')document.getElementsByClassName('someclass')
  • @PrakashReddyPotlapadu 但它如何知道要使用哪个特定字段?正如我所说,网站上有几个输入字段使用相同的类
  • 您必须根据类全部选择它们并使用索引作为更正位置(元素)。

标签: javascript html input getelementbyid autofill


【解决方案1】:

只需使用document.querySelector('input.someclass') 选择它

编辑

如果您网站上输入的顺序和数量始终相同,请执行以下操作:

const inputs = document.querySelectorAll('input')

您可以从 querySelectorAll 返回的数组中选择输入,也可以在数组中循环输入值。

const inputs = document.querySelectorAll('input');
const valuesToInput = [1,2,3,4,5,6,7,8,9];
for(let i = 0; i < inputs.length; i += 1) {
   inputs[i].value = valuesToInput[i];
}

【讨论】:

  • 但它如何知道要使用哪个特定字段?正如我所说,网站上有几个输入字段使用相同的类
  • 我认为您不能更改或添加任何其他内容,对吧?您要填写特定的网站上有多少输入?输入的数量或顺序是否发生变化?
  • 有9个输入字段。我想填写所有这些,但每个都有不同的值。不,数量或顺序没有改变。
  • 编辑了答案
  • 没问题 :) 将循环添加到答案中。
【解决方案2】:

如果您为表单和输入添加属性“名称”,您可以通过以下方式使用它:

<form name="myForm">
    <input type="text" name="myText">
    <button onclick="addText(myForm)">Add Text</button>
</form>

在javascript中:

function addText(myForm){
    myForm.myText.value = 'some text';
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多