我写的是这样的:
<form>
<input>text</input>
<div><span id="test">text</span></div>
.................
<button onclick="submitStudnetForm(this);"></button>
</form>
function submitStudnetForm(form){
alert(form['test']);
}
但它返回undefined,我不在哪里错了?
提前谢谢。答案 0 :(得分:7)
首先,this
引用按钮而不是表单。即使它确实引用了表单,表单元素也只包含 name (不是id)对 input 元素的引用。您应该使用document.getElementById('test')
代替。这假设页面上只有一个这样的跨度,因为id必须是唯一的。
答案 1 :(得分:2)
其他人已经说了我想说的话。另外,您是否有理由使用onclick按钮提交表单,而不仅仅是输入type =“submit”?这样,关闭javascript的用户将无法使用该表单。
(出于某种原因,我不能将其作为评论插入 - 我想我的声誉太低了吗?)
答案 2 :(得分:1)
您正在传递this
,这是一个按钮,您正在尝试从其中提取一个名为test
的属性,该属性不存在。
答案 3 :(得分:1)
Form不是一个数组(在这种情况下它是对按钮元素的引用),其索引名为“test”。在按ID引用元素时,您应该使用document.getElementById('test').