gpt4 book ai didi

javascript - 当我在表单中输入内容时,它返回为未定义

转载 作者:搜寻专家 更新时间:2023-10-31 22:36:43 27 4
gpt4 key购买 nike

function outputItem() {
var x = document.getElementById("form1");
var item = x.elements["item"].value ;
document.getElementById("output").innerHTML = item ;
}
<div>
<p id="output"></p>
</div>
<form id="form1">
item: <input name="item" type="text" size="20">
</form>
<button onclick="outputItem()">Add</button>

最佳答案

elements 是一个包含表单中所有表单控件的 NodeList。

通常,它会有一个名为 foo 的属性,以配合带有 name="foo" 的表单控件。

但是,您使用的名称 item 具有 predefined value on NodeList因此,当您访问它时,您获得的是该功能,而不是表单控件。

如果您使用 console.log(x.elements["item"]) 调试代码,这会更加明显。


避免使用 elements 节点列表。使用其他东西,例如 querySelector

function outputItem() {
var item = document.querySelector('#form1[name="item"]'].value ;
document.getElementById("output").innerHTML = item ;
}

关于javascript - 当我在表单中输入内容时,它返回为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53359871/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com