javascript,无法让 getElementsById 工作

问题描述 投票:0回答:1

我在网络表单中有 2 个字段来填充剪贴板中的文本。我设法让 1 工作,但不能使用另一个。我正在使用带有

javascript 
rule 的 chrome 插件自动填充 尝试将
getElementsByName 
更改为
getElementsById 
但不起作用

1 有效: html:

<input id="repeatEmail" type="text" name="repeatEmail" autocomplete="chrome-off" maxlength="50" class="register__input" style="border: 1px solid rgb(170, 170, 170) !important;">

js:

setTimeout(async function GetClip() { let ctext = await window.navigator.clipboard.readText()   console.log('Clipboard: ' + ctext);   document.getElementsByName("repeatEmail")[0].value = ctext; }, 1000)

2 不起作用: html:

<input id="name" type="text" autocomplete="off" maxlength="28" class="register__input" style="border: 1px solid rgb(170, 170, 170) !important;">

js:

setTimeout(async function GetClip() { let ctext = await window.navigator.clipboard.readText()   console.log('Clipboard: ' + ctext);   document.getElementsByName("name")[0].value = ctext; }, 1000)`
``
`your text`

javascript
1个回答
0
投票

您的代码中没有任何名为

'name'
的属性。
getElementsByName
查找名为
'name'
的属性。你需要类似的东西-

 let c = document.getElementsByName("name")[0];
 
 console.log(c)
<input id="name" name='name' type="text" autocomplete="off" maxlength="28" class="register__input" style="border: 1px solid rgb(170, 170, 170) !important;">

© www.soinside.com 2019 - 2024. All rights reserved.