javascript无法获取输入框的值

标签 javascript textbox getelementbyid

我似乎无法将输入框的值传递给 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/

相关文章:

javascript - 滚动渐变时如何更改div颜色?

Javascript如何正确克隆而不修改对象

vba - 如何为总共 22 个文本框中的 20 个文本框制作一个代码,而不是重复 20 次

c# - WPF:在 TextBox 具有焦点时为 ListBox 设置 IsSelected,而不会在 LostFocus 上丢失选择

Silverlight TextBox,移动插入符号位置

javascript - asp.net,javascript,无法获取属性 getElementsByTagName 的值

java - 获取列表项中当前 ID 的值

javascript - getElementById 返回 NaN

javascript - 如何将 JSON 数据从服务器获取到 JavaScript 变量中

javascript - 如何编写客户端 Java 脚本以在 Node JS 服务器上运行