我是Javascript的新手,我正在尝试将我的一个表单中的输入用作变量的数据,我可以在其中进行进一步的计算。我试图使用'getElementbyName'将数据分配给声明的变量。但它似乎没有通过。
<h3>
<u>Enter Details Below</u>
</h3>
<form>
Enter salary base pay:  <input type=''text' name='Basic ' />
</form>
<br />
<button onclick='myfunc()'>Submit</button>
<p id='demo'></p>
<script>
function myfunc() {
var a = document.getElementByName('Basic').value;
document.getElementById("demo").innerHTML = (a);
}
</script>
答案 0 :(得分:1)
document.getElementByName
语法无效。正确的语法是document.getElementsByName
(检查缺少的“s”)。 document.getElementsByName
返回数组,所以
更改
var a = document.getElementByName('Basic').value;
到
var a = document.getElementsByName('Basic')[0].value;
<input type=''text'
中还有一个额外的单引号,name='Basic '
中有额外的空格。纠正它,
<input type='text' name='Basic' />
您的完整代码应该是,
<h3>
<u>Enter Details Below</u>
</h3>
<form>
Enter salary base pay:  <input type='text' name='Basic' />
</form>
<br />
<button onclick='myfunc()'>Submit</button>
<p id='demo'></p>
<script>
function myfunc() {
document.getElementById("demo").innerHTML = document.getElementsByName('Basic')[0].value;
}
</script>
答案 1 :(得分:0)
更新的答案 - 已更新,可根据要求使用输入和名称属性。
function myfunc() {
var a = document.querySelector('input[name="Basic"]').value;
document.getElementById("demo").innerHTML = (a);
}
<h3>
<u>Enter Details Below</u>
</h3>
<form>
Enter salary base pay:  <input type='text' id="basic" name='Basic' />
</form>
<br />
<button onclick='myfunc()'>Submit</button>
<p id='demo'></p>
答案 2 :(得分:0)
您需要使用getElementsByName
并获得其第一个结果。您的名称属性中还有一个额外的空格。
function myfunc() {
var a = document.getElementsByName('Basic')[0].value;
document.getElementById("demo").innerHTML = (a);
}
&#13;
<h3>
<u>Enter Details Below</u>
</h3>
<form>
Enter salary base pay: 
<input type='text' name='Basic' />
</form>
<br />
<button onclick='myfunc() '>Submit</button>
<p id='demo '></p>
&#13;