我在Javascript中遇到了问题。 我想在点击链接时将文本输入的值设置为特定值。
<form method="get" action="db.php">
<dl>
<dt>
Part:
</dt>
<dd>
<input type="text" name="part"></input>
</dd>
....
....
<a href="#" onClick="document.getElementById('part').value = 'motor';">motor</a>
但是
TypeError: document.getElementById(...) is null
出现错误
它有什么不对吗?
答案 0 :(得分:3)
getElementById
按id
找到一个元素。你的dom样本中没有id
=
part
的元素。这就是它返回null的原因。您可以使用document.getElementsByName(string)
并返回包含指定名称的elemtns的数组,在您的can中,0
索引获取input
标记!
<a href="#" onClick="document.getElementsByName('part')[0].value = 'motor';">motor</a>
它会返回array
,所以得到第一个元素。如果你在函数上检查它,如果得到一些结果并应用value
属性,那就太好了。
答案 1 :(得分:2)
只需将id添加到输入标记,然后就可以使用getElementById(&#39; part&#39;)
<input type="text" name="part" id="part"></input>
答案 2 :(得分:0)
您的<a>
的名称为“部分”,而不是ID。因此,页面上没有ID为“part”的元素,这就是为什么你得到一个null结果。