为什么document.field_name.focus()不执行?

时间:2016-04-12 16:41:07

标签: javascript getelementbyid

我发现2011年的一些代码是这样的:

<textarea cols="20" rows="1" name="field_name" id="field_name">
</textarea>
<script>
    document.field_name.focus();
</script>

代码抛出错误:

TypeError: document.field_name is undefined

我认为当时的代码工作正常。为什么它现在不起作用(2016)? [至少不是最新版本的Mozilla Firefox]

2 个答案:

答案 0 :(得分:4)

使用表单作为容器,我想从过去(直到现在)你必须将表单数据封装到表单中以直接从文档范围访问字段名称,看看:

document.form.field_name.focus();
<form name="form">
  <textarea cols="20" rows="1" name="field_name" id="field_name" value="">
  </textarea>
</form>

答案 1 :(得分:1)

您可以使用document.getElementById选择输入,如下所示:

<textarea cols="20" rows="1" name="field_name" id="field_name">
</textarea>
<script>
 document.getElementById('field_name').focus();
</script>