这是我的 HTML 网页的一些代码。
<input id="sin" type="radio" name="oper">C
<input id="cos" type="radio" name="oper">B
<input id="tg" type="radio" name="oper">A
我有变量中的所有输入标签:
var inputs, index;
inputs = document.getElementsByTagName('input');
for (index = 0; index < inputs.length; ++index) {
document.write(inputs[index]);
}
如何从所有输入中获取文本(C、B、A)并将其打印在浏览器上。 我尝试使用 textNode、value、innerHTML、innerTEXT 等。根本没有任何效果。我找不到我的错误。
答案 0 :(得分:0)
你这样做是错误的。文本位于 input
元素之外,因此您将无法获取它。而是将这些文本放在 value
元素的 input
属性中,如下所示,然后尝试使用 .value
<input id="sin" type="radio" name="oper" value="C">C
<input id="cos" type="radio" name="oper" value="B">B
<input id="tg" type="radio" name="oper" value="A">A
答案 1 :(得分:0)
您需要为每个 input
元素添加一个值,然后像 @Tanner Dolby 所说的那样:
// javascript
document.getElementById('write-button').onclick = () => {
document.querySelectorAll('input').forEach( (input) => document.write(input.value) );
}
<!-- html -->
<input id="sin" type="radio" name="oper" value="C">C
<input id="cos" type="radio" name="oper" value="B">B
<input id="tg" type="radio" name="oper" value="A">A
<div>
<button type="button" id="write-button">write values</button>
</div>
答案 2 :(得分:0)
您可以使用标签标签包装输入,然后使用 parentElement.textContent 从输入标签访问其值。
import {useForm} from 'react-final-form';
const AdminButton = () => {
const form = useForm();
const handleClick = async () => {
...
form.change('isadmin', isAdmin);
...
}
...
}
var inputs, index;
inputs = document.getElementsByTagName('input');
for (index = 0; index < inputs.length; ++index) {
document.write(inputs[index].parentElement.textContent);
}
console.log("JavaScript is amazing!");