You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS提示form.addEventListener is not a function报错如何解决

问题根因

控制台抛出form.addEventListener is not a function错误,是因为获取表单元素的代码存在语法错误:
原代码中获取DOM的语句写为:

const form = document.querySelector = ('.quiz-form');

querySelector和后续括号之间多写了一个等号,这行代码的实际逻辑是把字符串'.quiz-form'赋值给document.querySelector方法,form变量最终存储的不是选中的表单DOM节点,自然不存在addEventListener方法,调用时就会触发类型错误。

修复方式

删除querySelector和括号之间多余的等号,正确调用选择器方法获取表单节点即可,修复后的完整可运行代码如下:

const correctAnswers = ['B', 'B', 'B', 'B'];
const form = document.querySelector('.quiz-form');

form.addEventListener('submit', e => {
    e.preventDefault();

    let score = 0;
    const userAnswers = [form.q1.value, form.q2.value, form.q3.value, form.q4.value];

    // 校验答案计算得分
    userAnswers.forEach((answer, index) => {
        if(answer === correctAnswers[index]){
            score += 25;
        }
    });

    console.log(score);
});

修复后刷新页面,即可正常监听表单提交事件,完成答题分数计算逻辑。

内容的提问来源于stack exchange,提问作者LampSim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 01:30:45