把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);
            });
相关推荐
剪刀石头布啊14 分钟前
js能被遍历的集合有哪些特征,为何能被遍历
前端
剪刀石头布啊16 分钟前
js解构
前端
剪刀石头布啊21 分钟前
防抖功能的逐步递进
前端
剪刀石头布啊25 分钟前
对象的大小比较与面向对象思考
前端
端庄的战斗机1 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
最爱老式锅包肉3 小时前
《HarmonyOS技术精讲-ArkWeb》桥接两岸:JSBridge原生与Web互调
前端·华为·harmonyos
IT_陈寒3 小时前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
踩着两条虫3 小时前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
kyriewen3 小时前
Godot 全面封杀 Vibe Coding,作为每天用 AI 写代码的人,我反而觉得这是件好事
前端·ai编程·claude
前进的搬砖er4 小时前
4.three.js的几何体、纹理、光源、材质、uv属性 讲义
前端