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

Why doesn't document.field_name.focus() execute?

我发现 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 上没有]

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

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

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

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