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

如何在Laravel与jQuery中点击提交按钮时向模态框隐藏输入框传值

实现点击按钮将值传入模态框隐藏输入框的方案

这其实很容易实现,利用Bootstrap模态框的内置事件就能搞定,我给你两种方案,适配不同的代码环境:

方案一:基于jQuery(推荐,适配Bootstrap常规用法)

因为你用到了data-toggle、data-target这些Bootstrap模态框的属性,项目里应该已经引入了jQuery,直接用这段代码就能实现需求:

// 监听模态框即将显示的事件
$('#confirm-delete-modal').on('show.bs.modal', function (event) {
  // 获取触发模态框的按钮元素
  const triggerBtn = $(event.relatedTarget);
  // 从按钮的data属性中提取报表名称
  const reportName = triggerBtn.data('report-name');
  // 找到模态框内的隐藏输入框并赋值
  $(this).find('input[name="report_name"]').val(reportName);
});

代码解释:

  • show.bs.modal是Bootstrap模态框的内置前置事件,在模态框开始渲染但还未完全显示时触发,刚好适合提前给输入框赋值。
  • event.relatedTarget会自动指向触发模态框的那个按钮,不用额外绑定点击事件,避免重复监听。
  • data('report-name')是jQuery便捷获取data属性的方法,等价于attr('data-report-name'),但更简洁。

方案二:原生JavaScript(无jQuery依赖)

如果项目里没有引入jQuery,用原生JS也能实现同样的效果:

// 获取模态框元素
const modal = document.getElementById('confirm-delete-modal');
// 监听模态框的show.bs.modal事件
modal.addEventListener('show.bs.modal', function(event) {
  // 获取触发按钮
  const triggerBtn = event.relatedTarget;
  // 提取data-report-name的值
  const reportName = triggerBtn.getAttribute('data-report-name');
  // 找到隐藏输入框并赋值
  this.querySelector('input[name="report_name"]').value = reportName;
});

验证方式:

点击“添加报表”按钮打开模态框后,你可以通过浏览器开发者工具(F12)查看隐藏输入框的value属性,会发现它已经被设置为对应按钮的data-report-name值(比如customer-list),提交表单时这个值就会被正常传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:53:50