0

我有一个名为 parent.jsp 的父 jsp。这会生成一个名为 iframe1 的 iframe,而后者又会构建一个名为 iframe2 的 iframe。

从 parent.jsp :

<iframe id="iframe1" style="display:none;" height="430" 
width="675" 
src="iframe1.jsp?myNumber=<%= bean.getMyNumber() %>" >

在这里,我在 iframe1.jsp 中使用:

String myNumber=request.getParameter("myNumber");

现在我需要再次将它传递给 iframe2.jsp。为此,我调用了一个名为:createSecondIframe() 的 javascript 方法。在这里我像这样使用它:

createSecondIframe(myNumber)
{
ifrm.setAttribute("src", "iframe2.jsp?myNO=myNumber");
}

这里 iframe2 使用所有视觉内容创建,但是当我这样做时 myNumber 没有被传递:

System.out.println("MyNo::"+request.getParameter("myNO"));

我明白了,MyNO 为空。

编辑 :

根据布鲁诺的建议,这个函数调用 createSecondIframe() :

function iframe1(myNumber)
{
var parentDynamicDiv = window.parent.document.getElementById('overlay1');
var iframe = window.parent.document.getElementById('container1');

iframe.style.display = 'none';
parentDynamicDiv.style.display = 'none';
createSecondIframe(myNumber);
}

我哪里错了?请帮助。

4

2 回答 2

0

您没有使用 myNO 变量,而是将 myNO 指定为字符串。试试这个

createSecondIframe(myNumber)
{
    ifrm.setAttribute("src", "iframe2.jsp?myNO=" + myNumber);
}
于 2012-11-26T08:32:40.120 回答
0

myNumber浏览器对 servlet 上下文中存在哪些内容一无所知。您必须在客户端代码中的某处明确定义它。

<script type="text/javascript">
    var myNumber = <%= myNumber %>; 
</script>

createSecondIframe(num)
{
ifrm.setAttribute("src", "iframe2.jsp?myNO="+ num);
}

然后打电话createSecondIframemyNumber

createSecondIframe(myNumber)
于 2012-11-26T08:36:39.253 回答