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

如何使用jQuery获取form表单action属性中的URL参数值

问题根源

你当前代码出错的原因是:$('form') 会选中页面内所有form元素,而jQuery的attr()方法在匹配到多个元素时,默认只会返回第一个匹配元素的对应属性值,所以无论点击哪个表单,最终拿到的都是第一个form的action属性。

解决方案

如果是点击/提交对应表单时获取该表单的provider值,在事件回调内通过$(this)获取当前触发事件的表单元素即可,参考实现如下:

// 给所有form绑定提交事件,绑定点击事件替换submit为click即可
$('form').on('submit', function (e) {
  // 阻止默认提交行为,不需要可以删掉
  e.preventDefault();
  // $(this)指向当前触发事件的表单
  const currentAction = $(this).attr('action');
  const provider = currentAction.split('=').pop();
  // 这里可添加你后续的业务逻辑
  console.log(provider);
})

如果需要一次性批量获取页面所有表单的provider值,可以用each()方法遍历所有表单:

const allProviders = [];
$('form').each(function () {
  const action = $(this).attr('action');
  allProviders.push(action.split('=').pop());
})
// 输出结果示例:['directEnergie', 'engie']
console.log(allProviders);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:09:03