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

如何通用化jQuery submit函数 批量绑定id带指定前缀的表单提交事件

解决方案

1. 最简实现:一次性绑定所有符合前缀规则的表单

利用jQuery的[attribute^="value"]属性前缀选择器,可以直接选中所有id以form-ws-开头的表单,不需要逐个声明绑定,也不需要手动传递表单参数:

$('form[id^="form-ws-"]').submit(function(event) {
    event.preventDefault();
    // 这里的this直接指向当前触发提交事件的表单DOM元素
    const formData = new FormData(this);
    const json = JSON.stringify(Object.fromEntries(formData));
    ws.send(json);
});

2. 保留你封装的custom_submit函数的实现方案

调整函数逻辑适配jQuery事件回调规则即可,jQuery事件处理函数默认第一个参数就是event对象,函数内this指向触发事件的元素:

function custom_submit(event) {
    event.preventDefault();
    const formData = new FormData(this);
    const json = JSON.stringify(Object.fromEntries(formData));
    ws.send(json);
}

// 一次性绑定所有匹配前缀的表单
$('form[id^="form-ws-"]').submit(custom_submit);

补充:适配动态新增表单的方案

如果后续会动态插入符合form-ws-*前缀的表单,可以用事件委托的方式绑定,不需要新增表单后重复执行绑定逻辑:

// 事件委托到document,所有符合规则的表单提交都会触发处理逻辑
$(document).on('submit', 'form[id^="form-ws-"]', function(event) {
    event.preventDefault();
    const formData = new FormData(this);
    const json = JSON.stringify(Object.fromEntries(formData));
    ws.send(json);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:45:10