将参数传递给javascript中的弹出窗口[重复]
Posted
技术标签:
【中文标题】将参数传递给javascript中的弹出窗口[重复]【英文标题】:Passing a parameter to a popup in javascript [duplicate] 【发布时间】:2011-11-12 00:11:25 【问题描述】:可能重复:javascript query string
...没错。我找到了问题的答案。我忘记在弹出窗口代码中的一些 jsp scriplet 标记周围添加 ''。因为这个应该是字符串的值没有被正确处理。
我会标记这个问题以引起版主注意。从这个问题中唯一能学到的就是在使用jsp scriptlets时要注意。
我想使用 window.open() 从我的 .js 代码中打开一个弹出窗口。我有几个参数需要传递给这个弹出窗口。我很惊讶这并不像我想象的那么简单,我已经尝试寻找答案,但我发现的只是非常复杂的解决方案 - 我希望有一个简单的答案。
我尝试过很多方法,但我认为它应该是这样工作的..
window.open('../common/MapPopup.jsp?current='+currentPosition+'&areas='+sAreas, 'mywindow', 'width=600,height=450,scrollbars=yes');
我完全不知所措。会不会是 window.open 在这种情况下不起作用?
edit:目前我的页面是这样的。用户按下表单按钮,向我们的数据库发起查询。根据这些数据创建一个 DataTables 表。随着 DataTable 的初始化,一段 jQuery 代码也是如此。当用户单击 DataTables 表中的一行时,我正在使用 jQuery 打开一个弹出窗口。
renderReport: function(response)
$('#requestDataContainer').html(response);
oTable = $('#dataTable').dataTable(
"bPaginate": true,
--snip-- //DataTables init
);
var sProcedures = new Array();
var sAreas = new Array();
var sCurrentPosition = null;
$('#dataTable tr').click(function()
var sCurrentPosition = oTable.fnGetData(this,9);
if(sCurrentPosition!=null)
$('#dataTable').find('tr').each(function()
var foo = oTable.fnGetData(this);
if(foo!=null)
if(foo[8]!='null')
sAreas.push(foo[8]);
if(foo[7]!='null')
sProcedures.push(foo[7]);
);
window.open('../common/reportMapPopup.jsp?procedures='+sProcedures+'&areas='+sAreas+'¤t='+sCurrentPosition, 'reportMap', 'width=600,height=450,scrollbars=yes');
);
,
我不得不承认,我对网络代码很陌生。我有点在路上学习,所以术语对我来说可能是新的,我可能会以一种非常愚蠢的方式做事。可能是我在网上找的时候找到了答案,只是没有意识到。
【问题讨论】:
你能复制整个代码吗?例如,你在哪里初始化你的变量等等。 【参考方案1】:如果您的 url 中的查询字符串被传递到窗口,您应该能够使用 JS 使用位置对象从窗口访问这些参数(http://www.w3schools.com/jsref/obj_location.asp)
如果您可以访问实际页面 - 您不能使用 jsp 检索参数吗?
【讨论】:
对不起,我真的不明白你的意思。弹出窗口在初始化时会引发错误 - 它确实出现了,但我认为它真的没有时间执行任何代码或任何东西。 将其视为另一个页面 - 准备好文档等。将 url 复制到浏览器进行测试。以上是关于将参数传递给javascript中的弹出窗口[重复]的主要内容,如果未能解决你的问题,请参考以下文章