将URL变量传递给PHPExcel和Jquery
问题描述:
我想将URL变量传递给我的PHPExcel PHP脚本,以便我可以使用$ _GET数组在脚本中提取它们。
当按下窗体(form1)按钮并且变量基于第二个窗体(filters_form)时,PHPExcel脚本的调用发生。将URL变量传递给PHPExcel和Jquery
{filters_form是一个通用的“过滤器”形式,为不同的脚本提供服务,例如过滤JqGrid。意思是说,它与form1分开是有原因的。 form1的是我放在一个按钮调用脚本PHPExcel,这也需要使用相同的筛选器,该filters_form提供}
因此,我试图使用jQuery调用PHPExcel脚本这样的:
$(document).ready(function() {
$('#form1').click(function() {
var filters_form_serialized = $('#filters_form').serialize();
var URL = 'PHPExcel_script.php?' + filters_form_serialized;
$('#form1').attr('action', URL);
$('#form1').submit();
});
});
form1的是:
<form id="form1" action="" method="get" target="_blank">
<button id="form_button" type="button"></button>
</form>
filter_form是:
<form id="filters_form">
<input name="input1" type="checkbox" value="0" checked="checked" />
<input name="input2" type="checkbox" value="1" checked="checked" />
</form>
钍ËPHPExcel脚本确实被调用,但脚本无法识别/获取任何变量$ _GET数组中,例如:
if(isset($_GET['input1']))
{echo "TRUE";}
else
{echo "FALSE";}
返回FALSE。
有什么想法为什么?
谢谢!
P.S.我已经检查过使用URL正确编码的警报;此外,使用其他脚本正确识别具有相同变量的完全相同的url。
答
试图实现什么可能都显得可能你的,但它不是:
从动作属性的查询参数是通过浏览器删除。我认为那不是obvious给你。
幸运的是,你不需要那样。
,而不是仅仅设定一个新的位置:
$(document).ready(function() {
$('#form1').click(function() {
var filters_form_serialized = $('#filters_form').serialize();
var URL = 'PHPExcel_script.php?' + filters_form_serialized;
window.location.href = 'http://your.host/and/path/to/' + URL;
});
});
答
我不明白你为什么不干脆做:
<form id="the_form" action="PHPExcel_script.php" method="get" target="_blank">
<input name="input1" type="checkbox" value="0" checked="checked" />
<input name="input2" type="checkbox" value="1" checked="checked" />
<button id="form_button" type="button"></button>
</form>
$('#form_button').click(function() {
$(this).submit();
});
应正确提交表单。你正在用参数设置表单的动作。没有必要序列化我认为的任何东西。
@Isael:是的,看到它。你有没有尝试没有序列化?我的意思是,表单的动作已经完成,所以没有必要这么做。 – hakre
@hakere - 其实我试图让问题变得更简单,但我基本上不太清楚。让我编辑它一分钟,事情会变得更清晰。谢谢:) – Israel
@hakre - 我编辑了这个问题,如果你再看一下,我会很感激。谢谢! – Israel