在ID内部定位时,按名称获取元素不起作用.getElementsbyTagName不是函数错误

时间:2015-08-05 04:13:53

标签: javascript

我无法使用vanilla JS在表单中使用'name'属性定位输入和ID。这是我的代码:

HTML:

<form id="form">
    <input name="hello" value="hello">
        <input name="suburb" value="suburb">
    </form>

JS:

   var form = document.getElementById('form').getElementsByName('hello')[0].value;
    console.log(form);

我在firebug中遇到错误 - '。getElementsbyName不是函数'

我尝试使用标记名称,但我更愿意根据名称属性进行定位,以便在动态添加其他输入字段时更具体。

感谢。

2 个答案:

答案 0 :(得分:2)

你可以做到

var foo = document.forms['myForm']['hello'];

您还可以使用点符号来简化编码。得到郊区的价值:

var input = document.forms.myForm.suburb,
    suburbValue = input.value;

但正如@sundeep在评论中建议的那样,.getElementsByName()无法链接到document.getElementById('form')

答案 1 :(得分:2)

getElementByName是文档对象的函数。所以直接在文档中使用它。

var form = document.getElementsByName('hello')[0].value;

CheckHere