把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);
            });
相关推荐
代码搬运媛7 小时前
Jest 测试框架详解与实现指南
前端
counterxing7 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq8 小时前
windows下nginx的安装
linux·服务器·前端
之歆8 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜8 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai108088 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong8 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
kyriewen10 小时前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor
humcomm10 小时前
元框架的工作原理详解
前端·前端框架
canonical_entropy11 小时前
Attractor Before Harness: AI 大规模开发的方法论
前端·aigc·ai编程