如何从javascript函数接收多个值?

时间:2012-01-16 13:39:08

标签: javascript jsp

在页面加载时调用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页面中使用它们?

4 个答案:

答案 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并使用变量。