javascript - 将动态生成的 div 内容的副本发布到新页面
问题描述
所以我正在研究这一堆,并认为我看到的东西似乎比我想象的要复杂得多。
我只想获取表单中特定 div 中的所有 HTML 内容,包括标签和 id 等,并在提交后将其逐行复制到另一个页面上的新 div 中。某些内容是使用 javascript 动态生成的,例如表行及其数据,但在提交之前完成。
例如:取下面 div 中的表格,并将其发布到表单提交到的页面上的 div 中。(我正在使用 multipart/form-data 因为我有一个相同形式的文件输入)
<form action = "example.php" method = "post" enctype="multipart/form-data">
<div class="table_container">
<table class="example_table">
<tr> <!--This HTML was all generated with Javascript-->
<th>Test</th>
<th>Test</th>
<th>Test</th>
</tr>
<tr>
<td>Test</td>
<td>Test</td>
<td>Test</td>
</tr>
<tr>
<td>Test</td>
<td>Test</td>
<td>Test</td>
</tr>
</table>
</div>
</form>
我还没有尝试过任何东西,因为我还没有找到任何可能做到这一点的东西。很多人都提到了 PHP 包含功能,但我不需要整个页面,并且动态生成的我不知道它是如何工作的。
任何有关如何执行此操作的建议都将不胜感激,无论是 PHP、AJAX 还是 JQUERY 或其他任何东西。
在此先感谢
凯文
解决方案
JSON是要走的路。我有生成表的函数也将数据发送到数组
此代码选择数组(引用)并将数据字符串化,然后将其存储为隐藏输入(ref_data)的值:
function input_ref_JSON() {
var refsJSON = JSON.stringify(references);
$('#ref_data').val(refsJSON); //write JSON data to hidden input value
}
然后在 php 页面上,我对其进行解码并使用递归循环生成一个新表
<?php
$ref_JSON = $_POST['ref_data'];
$ref_decoded = json_decode($ref_JSON);
echo '<table>';
foreach ($ref_decoded as $ref) {
echo '<tr><td>'.$ref->type.'</td><td><a href="'.$ref->link.'">'.$ref->title.'</a></td><td>'.$ref->author.'</td><td>'.$ref->notes.'</td></tr>';
}
echo '</table>';
?>
推荐阅读
- java - 自动更新 JFrame 组件,无需线程或直接管理
- java - 如何使子类型的对象访问父方法?
- visual-studio-code - 在 F# 交互窗口中显示完整的字符串
- python-3.x - 无法使用自动编码器神经网络模型 (model.h5) 进行推断
- scala - 循环通过火花数据帧并将列值的计数确定为类型的有效方法
- java - Java.exe 版本无关路径
- three.js - 三.js Geometry.faceVertexUvs 设置比较混乱
- arrays - 将整数数组转换为字符数组
- sublimemerge - 什么是崇高合并中的 Hunk 历史按钮
- hp-uft - 无法在 UFT 中使用 webtable 中的描述语言选择第二行