克隆完整表并作为表单值提交
Clone full table and submit as form value
如何使用javascript正确复制/克隆html表并将其提交到php,在那里它将被转换为PDF和XLS文档?
到目前为止,我有一个类似于这样的html:
<table class="planning-table">
<thead>
<tr>
<td>blah blah</td>
</tr>
</thead>
<tbody>
<tr>
<td>blah blah</td>
</tr>
</tbody>
</table>
<form id="exportPDFform" method="post">
<a href="#exportPDF" id="exportPDF">Eksport</a>
<input id="table_data" type="hidden" name="table" value="" />
</form>
和jquery:
$("#exportPDF").on("click", function (){
var value = $('.planning-table').clone();
$("#table_data").val( escape( value ) );
$("#exportPDFform").submit();
return false;
});
现在,克隆是可行的,但当放在输入字段中时,它会给我:
[object-Object]
如何正确执行此操作?
PS:当选择不同的过滤器时,表单会被频繁地更改/创建,因此使用最终产品然后在PHP端重新创建它会容易得多
假设escape()
接受一个字符串,而您提供的是一个jQuery对象。当您尝试将对象强制转换为字符串时,javascript将为您提供"[object Object]"
。相反,您需要检索表的HTML值,如下所示:
var value = $('.planning-table').clone().wrap('<div />').parent().html();
我认为您不想使用Clone()函数,相反,我认为您想获得元素的HTML内容,但要对表上方的元素使用.HTML()函数。
<div id="table-container">
<table class="planning-table">
<thead>
<tr>
<td>blah blah</td>
</tr>
</thead>
<tbody>
<tr>
<td>blah blah</td>
</tr>
</tbody>
</table>
</div>
<form id="exportPDFform" method="post">
<a href="#exportPDF" id="exportPDF">Eksport</a>
<input id="table_data" type="hidden" name="table" value="" />
</form>
和
$("#exportPDF").on("click", function (){
var value = $('#table-container').html();
$("#table_data").val( escape( value ) );
$("#exportPDFform").submit();
return false;
});
相关文章:
- HTML表单提交时未执行外部函数
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 将图像上传ajax与表单提交ajax相结合
- Javascript无法处理表单提交
- 如何在我的情况下禁用表单提交
- 加载后的页面与ajax表单提交不起作用
- angularjs-控制器在表单提交时未调用
- 禁用带有字符白名单的表单提交
- 如何使用Google Analytics跟踪表单提交
- 使用javascript将表单提交到iframe目标中
- e.preventDefault在表单提交时被忽略
- AngularJS JQuery Ajax表单提交等效
- JavaScript表单提交帮助
- PHP表单提交和重定向
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- setTimeOut AFTER jQuery表单提交
- 从函数中选择要触发表单提交的正确元素
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 表单提交问题,如何在我的URL末尾获得ID的值
- Javascript使用Confirm取消表单提交