将参数传递给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+'&current='+sCurrentPosition, 'reportMap', 'width=600,height=450,scrollbars=yes');
                );
          ,

我不得不承认,我对网络代码很陌生。我有点在路上学习,所以术语对我来说可能是新的,我可能会以一种非常愚蠢的方式做事。可能是我在网上找的时候找到了答案,只是没有意识到。

【问题讨论】:

你能复制整个代码吗?例如,你在哪里初始化你的变量等等。 【参考方案1】:

如果您的 url 中的查询字符串被传递到窗口,您应该能够使用 JS 使用位置对象从窗口访问这些参数(http://www.w3schools.com/jsref/obj_location.asp)

如果您可以访问实际页面 - 您不能使用 jsp 检索参数吗?

【讨论】:

对不起,我真的不明白你的意思。弹出窗口在初始化时会引发错误 - 它确实出现了,但我认为它真的没有时间执行任何代码或任何东西。 将其视为另一个页面 - 准备好文档等。将 url 复制到浏览器进行测试。

以上是关于将参数传递给javascript中的弹出窗口[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将参数传递给导航控制器内的弹出视图控制器

JqueryMobile 1.4.0 将参数传递给弹出窗口

将任意数量的参数传递给Javascript函数[重复]

将 unicode 参数传递给 ShellExecuteEx 中的子进程

jQuery UI 问题。如何将参数传递给函数

VueJS将参数传递给弹出“对话框”