访问范围从from但未定义

时间:2013-04-22 17:41:08

标签: javascript html5 dom

我写的是这样的:

<form>
    <input>text</input>
    <div><span id="test">text</span></div>
.................
<button onclick="submitStudnetForm(this);"></button>
</form>

function submitStudnetForm(form){
    alert(form['test']);
}

但它返回undefined,我不在哪里错了?

提前谢谢。

4 个答案:

答案 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').