阻止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);
});