如何打印输入标签内的文本

时间:2021-01-10 17:24:00

标签: javascript

这是我的 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 等。根本没有任何效果。我找不到我的错误。

3 个答案:

答案 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!");

相关问题