0

我写这样的东西:

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

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

但它返回未定义,我不知道哪里错了?

提前谢谢。

4

4 回答 4

7

首先,this引用按钮而不是表单。即使它确实引用了表单,表单元素也仅包含按名称(而不是按 id)对输入元素的引用。你应该改用。这假设页面上只有一个这样的跨度,因为 id 必须是唯一的。document.getElementById('test')

于 2013-04-22T17:43:05.333 回答
2

其他人已经说了我想说的话。另外,您是否有理由使用带有 onclick 的按钮来提交表单,而不仅仅是输入 type="submit"?这样,关闭 javascript 的用户将无法使用该表单。

(由于某种原因,我无法将其作为评论插入 - 我想我的声誉太低了?)

于 2013-04-22T17:47:06.513 回答
1

您正在传递this,这是按钮,并且您试图从中提取一个名为 的属性,该属性test不存在。

于 2013-04-22T17:43:14.583 回答
1

表单不是一个索引名为“test”的数组(在这种情况下它是对按钮元素的引用)。当通过 id 引用元素时,您应该使用document.getElementById('test').

于 2013-04-22T17:46:20.787 回答