把form表单数据转为json,并传给父页面

阻止form表单提交,表单数据转为json字符串,并传给父页面

php 复制代码
// 获取表单元素
            var form = document.getElementById('myForm');
            // 监听表单提交事件
            form.addEventListener('submit', function(event) {
                // 在这里处理表单提交的逻辑
                var rental_id = $("#c-id").val();
                if (rental_id == 0){
                    event.preventDefault(); // 阻止表单默认提交行为
                }
                // 将表单数据转换为 JSON 对象
                const formData = new FormData(form);
                const jsonData = {};
                for (const [key, value] of formData.entries()) {
                    const formattedKey = key.replace('row[', '').replace(']', '');
                    jsonData[formattedKey] = value;
                }
                const jsonResult = JSON.stringify(jsonData);

                // 将 JSON 对象传递给父页面
                window.parent.postMessage(jsonResult, '*');
            });

form表单键名 没有row[ ],使用此

php 复制代码
for (const [key, value] of formData.entries()) {
    jsonData[key] = value;
  }

父页面进行json数据接收

javascript 复制代码
// 监听消息事件
            window.addEventListener('message', function(event) {
                var jsonData = event.data; // 获取传递的 JSON 数据
                console.log('jsonData',jsonData); // 在控制台输出 JSON 数据
                // 在这里可以对接收到的数据进行处理
                $("#c-jsonKey").val(jsonData);
            });
相关推荐
夜郎king15 分钟前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落
辰风沐阳23 分钟前
JavaScript 的宏任务和微任务
javascript
夏幻灵1 小时前
HTML5里最常用的十大标签
前端·html·html5
冰暮流星1 小时前
javascript之二重循环练习
开发语言·javascript·数据库
Mr Xu_1 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝2 小时前
RBAC前端架构-01:项目初始化
前端·架构
程序员agions2 小时前
2026年,微前端终于“死“了
前端·状态模式
万岳科技系统开发2 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
程序员猫哥_2 小时前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html
龙飞052 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl