我有jQuery动态创建表单并将其添加到页面的末尾然后触发提交。
var downloadReportForm = $('<form id="report" action="ReportExcel.aspx" method="POST" />');
downloadReportForm.append(String.format('<input id="{0}" name="{0}" value="{1}" />', "customerGroupId", filter.CustomerGroupID));
$('form').after(downloadReportForm);
downloadReportForm.submit();
问题出在ReportExcel.aspx代码后面,我没有得到输入的值。我甚至没有看到它的关键。它根本就没有发布。
我已经尝试过GET和POST,我查看了Request对象的QueryString,Form和Params列表。什么都没有。
我不能使用$ .Post(),因为我需要响应回到这个页面,因为aspx返回一个excel内容类型,带有它的字节,我需要浏览器来打开下载对话框
我有什么建议可以让它发挥作用吗?
答案 0 :(得分:0)
除非您编写了自己的方法,否则String.format在Javascript中不起作用。
试试这个
var downloadReportForm = $('<form id="report" action="ReportExcel.aspx" method="POST" />');
downloadReportForm.append('input', {id:"customerGroupId", name:"customerGroupId", value: filter.CustomerGroupID, type:"hidden"});
$('form').after(downloadReportForm);
downloadReportForm.submit();
答案 1 :(得分:0)
最好的方法是使用ajaxForm插件。访问http://malsup.com/jquery/form/ 有很多使用这个插件的例子。