2012-02-07 59 views
0

的整个HTML我试图将动态表的整个HTML发布到另一个页面,该页面将HTML解析为XLS文件。我似乎无法得到正确的onClick jQuery,因为生成的.XLS文件只包含一个单元格:[object Object]设置隐藏的变量值等于表

onsubmit='$j("#datatodisplay").val($j("#table1")).html()' 

datatodisplay是隐藏的变量的名称/ ID,

table1是表名。

回答

3

移动你html()val()函数内部:

onsubmit='$j("#datatodisplay").val($j("#table1").html())' 
+0

这很奇怪......现在它给了我一个SaveToExcel.asp 500错误。 :\ – dru 2012-02-07 00:27:04

+0

是这个老的asp或asp.net吗?将HTML传递到服务器端可能会导致验证失败。在ASP.NET中,您可以明确允许通过回发提交HTML - 我不确定ASP是否有类似的东西。 – 2012-02-07 00:33:35

+0

在将标记保存到隐藏字段之前,您可能需要在标记上做一个html编码。 – SynXsiS 2012-02-07 00:51:59

1

看看你的括号内。

您致电.html()val()的结果,而不是它的论点。

0

如果你想获得整个表的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()相同。