把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);
            });
相关推荐
可观测性用观测云3 小时前
前端错误可观测最佳实践
前端
恋猫de小郭3 小时前
Android 将强制应用使用主题图标,你怎么看?
android·前端·flutter
一枚前端小能手3 小时前
「周更第3期」实用JS库推荐:Lodash
前端·javascript
艾小码3 小时前
Vue组件到底怎么定义?全局注册和局部注册,我踩过的坑你别再踩了!
前端·javascript·vue.js
Cyan_RA93 小时前
计算机网络面试题 — TCP连接如何确保可靠性?
前端·后端·面试
谢尔登3 小时前
【CSS】层叠上下文和z-index
前端·css
鹏多多3 小时前
前端复制功能的高效解决方案:copy-to-clipboard详解
前端·javascript
AryaNimbus3 小时前
你不知道的 Cursor系列(三):再也不用死记硬背 Linux 命令,终端 Cmd+K 来帮你!
前端·ai编程·cursor
uhakadotcom3 小时前
Rollup 从0到1:TypeScript打包完全指南
前端·javascript·面试
Mintopia3 小时前
实时语音转写 + AIGC:Web 端智能交互的技术链路
前端·javascript·aigc