Javascript can';t figure脚本在正文中时出现addEventListener错误
我正在使用Javascript can';t figure脚本在正文中时出现addEventListener错误,javascript,html,Javascript,Html,我正在使用addEventListner对表单执行提交按钮,但我被未定义错误的addEventlister卡住了。我测试了元素是否为true,它返回true 这是我的表格: <form action="POST"> <input name="name" type="text" autocomplete="given-name"> <input name="lastname" type="text" autocomplete="given-name"&
addEventListner
对表单执行提交按钮,但我被未定义错误的addEventlister
卡住了。我测试了元素是否为true
,它返回true
这是我的表格:
<form action="POST">
<input name="name" type="text" autocomplete="given-name">
<input name="lastname" type="text" autocomplete="given-name">
<button type="button" id="for_input">Submit</button>
</form>
错误:
未捕获的TypeError:无法读取的属性“addEventListener”
未定义
我尝试添加到html正文的,但仍然收到相同的错误。您忘记添加名称,您使用的是id=“for\u input”而不是name=“for\u input”
提交
您忘记添加名称,您使用的是id=“for\u input”而不是name=“for\u input”
提交
您没有任何元素名称用于\u输入
,但是您有一个按钮,其ID为用于\u输入。因此,在文档上使用querySelector
或getElementById
方法,而不是getElementsByName
方法
var el = document.querySelector('#for_input');
if (el) //check if true
console.log("Value is true");
else
console.log("Value is false");
//define alert to check click
var showMe = function () { alert("clicked worked"); };
el.addEventListener("click", showMe, false);
document.getElementsByName('for_input')
返回分配给el
的NodeList[]
,因为在文档
对象中找不到name=“for_input”
的html元素。后来,当您调用el[0]
时,它给您提供了undefined
,因为el
有一个空节点列表。因此,未定义。addEventListener(..)
调用导致了您在日志中看到的错误。您没有任何元素名称用于\u输入
,但是您有一个按钮,其ID为用于\u输入
。因此,在文档上使用querySelector
或getElementById
方法,而不是getElementsByName
方法
var el = document.querySelector('#for_input');
if (el) //check if true
console.log("Value is true");
else
console.log("Value is false");
//define alert to check click
var showMe = function () { alert("clicked worked"); };
el.addEventListener("click", showMe, false);
document.getElementsByName('for_input')
返回分配给el
的NodeList[]
,因为在文档
对象中找不到name=“for_input”
的html元素。后来,当您调用el[0]
时,它给您提供了undefined
,因为el
有一个空节点列表。因此未定义。addEventListener(..)
调用导致了您在日志中看到的错误。您缺少名为的元素,该元素的按钮id为\u input
,因此请使用getElementById
var el = document.getElementById('for_input');
现在el
不是数组,所以不需要像el[0]
那样添加数组位置,只需使用el
el.addEventListener("click", showMe, false);
对于_input
,您缺少名为的元素及其按钮id,因此请使用getElementById
var el = document.getElementById('for_input');
现在el
不是数组,所以不需要像el[0]
那样添加数组位置,只需使用el
el.addEventListener("click", showMe, false);
谢谢你工作得很有魅力。我已经被困了一个半小时了。谢谢你,好好工作。我已经被困了一个半小时了。