的整个HTML我试图将动态表的整个HTML发布到另一个页面,该页面将HTML解析为XLS文件。我似乎无法得到正确的onClick jQuery,因为生成的.XLS文件只包含一个单元格:[object Object]
。设置隐藏的变量值等于表
onsubmit='$j("#datatodisplay").val($j("#table1")).html()'
datatodisplay
是隐藏的变量的名称/ ID,
table1
是表名。
的整个HTML我试图将动态表的整个HTML发布到另一个页面,该页面将HTML解析为XLS文件。我似乎无法得到正确的onClick jQuery,因为生成的.XLS文件只包含一个单元格:[object Object]
。设置隐藏的变量值等于表
onsubmit='$j("#datatodisplay").val($j("#table1")).html()'
datatodisplay
是隐藏的变量的名称/ ID,
table1
是表名。
移动你html()
的val()
函数内部:
onsubmit='$j("#datatodisplay").val($j("#table1").html())'
看看你的括号内。
您致电.html()
对val()
的结果,而不是它的论点。
如果你想获得整个表的HTML,那么你就需要把它包在一个新元素,能够使用.html()
函数来获取开闭<table></table>
标签:
$('form').on('submit', function() {
var $table = $('#table1').wrap('<div />'),
html = $table.parent().html();
$table.unwrap('<div />');
$('#datatodisplay').val(html);
});
这里是一个演示:http://jsfiddle.net/JGnh9/
请注意,.on()
是jQuery 1.7中的新增功能,在这种情况下与使用.bind()
相同。
这很奇怪......现在它给了我一个SaveToExcel.asp 500错误。 :\ – dru 2012-02-07 00:27:04
是这个老的asp或asp.net吗?将HTML传递到服务器端可能会导致验证失败。在ASP.NET中,您可以明确允许通过回发提交HTML - 我不确定ASP是否有类似的东西。 – 2012-02-07 00:33:35
在将标记保存到隐藏字段之前,您可能需要在标记上做一个html编码。 – SynXsiS 2012-02-07 00:51:59