我似乎无法将输入框的值传递给 JavaScript 中的其他内容。 它不会产生任何错误 - 我记得在某处读过,如果文档尚未完成加载,您可能会遇到问题 - 但我很确定它已经完成!
有问题的代码在 JavaScript 中如下:
var address = getElementById(addyInput).value;
document.getElementById('add').innerHTML = address;
在 HTML 中
<form>
<input name="addyInput" placeholder="Don't forget postcode!">
</form>
<button id="start" onclick="initialize()">Start!</button>
<p>Address Test
<div id="add"></div>
</p>
我知道按钮本身正在工作,因为它可以很好地触发我的其余代码,而不会出现违规代码 - 然而,当我取消注释顶部的那个小块时,它什么也没做。 (没有错误等)
对此的任何帮助都会很受欢迎!谢谢:)
更新:
我现在可以使用了!非常感谢您的帮助!!
最佳答案
您的表单需要如下所示(添加 id 属性):
<form>
<input id="addyInput" name="addyInput" placeholder="Don't forget postcode!">
</form>
Javascript 的第一行需要如下所示(因为 getElementById
需要 ID 而不是名称)。
var address = getElementById('addyInput').value;
此外,getElementById
期望 id 参数是一个字符串(因此有引号)。如果你传递给它的 addyInput
不带引号,它会尝试将 addyInput
解释为一个值为 undefined 的变量,并且你不会得到你想要的 DOM 元素.
或者,如果您使用 jQuery ,您可以按原样保留表单标记并将 Javascript 更改为:
var address = $('input[name=addyInput]').val();
关于javascript无法获取输入框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5732188/