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

JS调用trigger触发提交时出现空对象类型错误

问题产生原因
  • 直接根因:jQuery的.trigger()方法为参数必填方法,必须传入要触发的事件类型字符串,空参调用时方法内部会尝试将接收到的undefined转换为事件配置对象,直接抛出Cannot convert undefined or null to object的类型错误。
  • 逻辑隐患:就算补全参数,如果事件类型传错也无法达到提交表单的预期。你使用的属性选择器input[value="submit"]仅匹配HTML初始value属性为submit的输入元素,若该元素是表单内的提交按钮,只有触发它的点击事件才会冒泡触发表单提交逻辑,空参调用trigger根本没有指定要触发的行为,完全不符合方法调用规范。
  • 你定义的flag隐藏域本身不存在语法问题,不会触发本次报错。
修复方法

根据业务逻辑给.trigger()传入正确的事件类型即可,若要更稳定地实现表单提交,也可以直接调用表单的submit方法,修正后的代码如下:

// 隐藏提交按钮
$('input[value="submit"]').hide();
$('#bt-yes').click(function () {
    // 给flag隐藏域赋值
    $('#flag').val("1");
    // 写法1:触发提交按钮的点击事件,完成表单提交
    $('input[value="submit"]').trigger('click');

    // 写法2(更稳定,推荐):直接获取提交按钮所属的表单触发提交,避免按钮状态/属性变化导致选择器失效
    // $('input[value="submit"]').closest('form').submit();
})

补充说明:你贴出的控制台报错文本存在拼写笔误(Uneaught TvoeError应为Uncaught TypeError),不影响本次问题的定位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 10:09:16