js使所有url参数的值都有一个“”

时间:2011-11-23 13:22:06

标签: javascript iframe parameters src

我有一个包含src的iframe:

<iframe id="frame1" src="/jsp/transfer/a.jsp?isChange=true&bizId="+bizId></iframe>

bizId是一个数字。例如:

src = "/jsp/transfer/a.jsp?isChange=true&bizId=10"

我注意到Javascript会将bizId的值放在引号中:“10”,“null”等。我想得到实际的数值,而不是字符串。为什么它表示为字符串?我该怎么办?

2 个答案:

答案 0 :(得分:0)

JS中的

window.frames["myIframe"].src = "/jsp/transfer/a.jsp?isChange=true&bizId="+bizId;

你无法将类似+param的内容添加到src中。

选项1)通过服务器端

选项2)通过Js - 更改SRC。

修改

<iframe name="myIframe" id="frame1" src=""></iframe>


in the bottom of the page : 

<script type="text/javascript">

var bizId=444;

window.onload = function() {  
   window.frames["myIframe"].src = "/jsp/transfer/a.jsp?isChange=true&bizId="+bizId;
};  

</script>

答案 1 :(得分:0)

如果我理解你的问题(尤其是你最后的评论),你需要这样做:

<iframe id="frame1" src="/jsp/transfer/a.jsp?isChange=true&bizId=<%=bizId>"></iframe>

说明:

<%= variable > - 是一种JSP语法,用于将JSP上下文中的变量插入到呈现的HTML中。此代码(<%= variable >)将完全由variable

的内容替换

已添加:(以回应评论)

如果您需要将一些变量放入原始JSP文件中包含的JavaScript文件中,则无法在其中使用<%= variable >语法。但是,您可以这样做:

<强> [yourjsp.jsp]

<script>
var bizId = <%=bizId>;
</script>
...
<script src="yourjavascript.js"></script>

<强> [yourjavascript.js]

function someMethod() {
    alert(bizId); 
}

基本上,JSP代码将被替换,您将定义一个名为bizId的全局javascript变量,其中包含服务器端bizId的值。然后,任何其他javascript代码都可以使用该变量。