在页面加载时调用javascript函数,它返回多个值,我需要接收这些值。我应该在form或body标签中指定什么才能在jsp页面中使用这些值?
我使用的代码是:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
function Browser()
{
var myWidth;
var myHeight;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if( document.documentElement &&
( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
return {myWidth:myWidth, myHeight:myHeight};
}
</script>
</head>
<body onload="Browser()">
<form name="hello" action="" method="post" >
<table align="center" border="1">
<tr>
<td>
User Name:
</td>
<td>
<input type="text" name="user"/>
</td>
</tr>
<tr>
<td>
Password:
</td>
<td>
<input type="password" name="pwd"/>
</td>
</tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="Submit"/>
</td>
</tr>
</table>
</form>
</body>
</html>
在上面的代码函数中,Browser返回分辨率值和i 使用onload()方法调用了该函数。我应该如何收到这些 myWidth和myHeight的值,以便在同一个jsp页面中使用它们?
答案 0 :(得分:1)
您可以返回包含所有相关值的对象:
function myFunction() {
return { val1: 1, val2: 2, val3: 3 };
}
用法:
var tmp = myFunction();
var val1 = tmp.val1;
var val2 = tmp.val2;
//...
答案 1 :(得分:0)
您注释掉的退货声明很好:
return {myWidth:myWidth, myHeight:myHeight};
然后可以在其他javascript中使用它:
var dimension = Browser();
var width = browser.myWidth;
var height = browser.myHeight;
由于javascript在客户端上执行,因此您无法在服务器上访问这些变量(除非您发布它们)。
答案 2 :(得分:0)
返回JSON对象或结果数组。
答案 3 :(得分:0)
您可以将所有变量一起传递,使用一些JSON表示法传递数据
document.write('{myWidth:'+myWidth+',myHeight:'+myHeight+'}');
获得数据后,解码JSON并使用变量。