我有一个名为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中的mynumberString 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为空。
编辑:
根据Bruno的建议,这个函数调用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);
}
我哪里错了?请帮助。
答案 0 :(得分:0)
您没有使用myNO变量,而是将myNO指定为字符串。试试这个
createSecondIframe(myNumber)
{
ifrm.setAttribute("src", "iframe2.jsp?myNO=" + myNumber);
}
答案 1 :(得分:0)
浏览器对servlet上下文中存在的myNumber
一无所知。您必须在客户端代码中的某处明确定义它。
<script type="text/javascript">
var myNumber = <%= myNumber %>;
</script>
createSecondIframe(num)
{
ifrm.setAttribute("src", "iframe2.jsp?myNO="+ num);
}
稍后使用createSecondIframe
myNumber
createSecondIframe(myNumber)