怎么把javascript的变量值传给VBscript的变量?

时间:2021-06-18 07:32:25
我用
<script language=javascript>
width=window.width;
height=window.height
</script>
怎么把width,height传给
<%
dim VB_width
dim VB_height
%>

12 个解决方案

#1


try:
<script language="javascript">
function xxx(i)
{
  return(i);
}
</script>
<script language="vbscript">
msgbox xxx(5)
</script>

用一个fuction

#2


<script language="javascript">
function wid()
{
  width=800;
  return(width);
}
function hei()
{
  height=600;
  return(height);
}

</script>
<script language="vbscript">
msgbox wid()
msgbox hei()
</script>

#3


对是对了,怎么老是弹出错误框,说:语句未结束

#4


楼上possible_Y(◎)(◎)←(这是眼镜,不要想歪了)的代码是正确的,不会有什么错误提示啊?

另,你说的是客户端变量值传递给服务器端变量。——这个和具体的语言无关了,已经。
你通过URL或者FORM把这个客户端变量GET或者POST出去,然后服务器端的ASP代码再获取一次就可以了。如果是客户端脚本之间传递变量,直接传就可以了,只要注意作用域不要冲突就可以了!

#5


跟踪判断一下,是不是有别的情况出现

#6


那个问题解决了,是我的失误,在<script language="vbscript">中得到的width不能在<%%>中用吗?该怎么做?

#7


不能。因为客户端脚本后于服务器端脚本执行。
上面已经说了,POST或者GET出去。服务器端脚本再获取一次!

#8


可是我没有客户端程序,怎么办?

#9


你这段不是客户端脚本吗?晕:

<script language=javascript>
width=window.width;
height=window.height
</script>

如果都是服务器端脚本,不建议同一页面使用两种脚本语言。

#10


Estyle(靳田) :能不能给我讲讲,怎么通过URL或者FORM把这个客户端变量GET或者POST出去,然后服务器端的ASP代码再获取一次?谢谢

#11


<script language=javascript>
width=window.width;
height=window.height
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
xmlhttp.Open("get", "do.asp", false); 
xmlhttp.Send("width="+width+"&height="+height); 
</script>

在do.asp中:
<%
w=Request("width")
h=Request("height")
%>

#12


楼上朋友的方法应该也可以,用了XMLHTTP。
不过很遗憾,我完全不懂那西西……看来要找时间好好研究研究,我觉得那西西好强大!
————几乎从概念上颠覆了网页制作的常规! :_)
(我不懂的西西都是厉害的,比如XML/WebService等。)



通过URL传递:
...
window.location.href="process.asp?width="+varWidth+"&height="+varHeight;
...
然后通过request.querystring("width")和request.querystring("height")可以获取值!


通过FORM传递:
...
<form name=fn action="process.asp" method="post">
<input type=hidden name=width>
<input type=hidden name=height>
</form>
<script>
...
document.all.width.value=varWidth;
document.all.height.value=varHeight;
fn.submit();
...
然后通过request.form("width")和request.form("height")取值!
当然,如果你把method改成get,实际上就是通过URL传递,和第一个方法实质上是一样的。

#1


try:
<script language="javascript">
function xxx(i)
{
  return(i);
}
</script>
<script language="vbscript">
msgbox xxx(5)
</script>

用一个fuction

#2


<script language="javascript">
function wid()
{
  width=800;
  return(width);
}
function hei()
{
  height=600;
  return(height);
}

</script>
<script language="vbscript">
msgbox wid()
msgbox hei()
</script>

#3


对是对了,怎么老是弹出错误框,说:语句未结束

#4


楼上possible_Y(◎)(◎)←(这是眼镜,不要想歪了)的代码是正确的,不会有什么错误提示啊?

另,你说的是客户端变量值传递给服务器端变量。——这个和具体的语言无关了,已经。
你通过URL或者FORM把这个客户端变量GET或者POST出去,然后服务器端的ASP代码再获取一次就可以了。如果是客户端脚本之间传递变量,直接传就可以了,只要注意作用域不要冲突就可以了!

#5


跟踪判断一下,是不是有别的情况出现

#6


那个问题解决了,是我的失误,在<script language="vbscript">中得到的width不能在<%%>中用吗?该怎么做?

#7


不能。因为客户端脚本后于服务器端脚本执行。
上面已经说了,POST或者GET出去。服务器端脚本再获取一次!

#8


可是我没有客户端程序,怎么办?

#9


你这段不是客户端脚本吗?晕:

<script language=javascript>
width=window.width;
height=window.height
</script>

如果都是服务器端脚本,不建议同一页面使用两种脚本语言。

#10


Estyle(靳田) :能不能给我讲讲,怎么通过URL或者FORM把这个客户端变量GET或者POST出去,然后服务器端的ASP代码再获取一次?谢谢

#11


<script language=javascript>
width=window.width;
height=window.height
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
xmlhttp.Open("get", "do.asp", false); 
xmlhttp.Send("width="+width+"&height="+height); 
</script>

在do.asp中:
<%
w=Request("width")
h=Request("height")
%>

#12


楼上朋友的方法应该也可以,用了XMLHTTP。
不过很遗憾,我完全不懂那西西……看来要找时间好好研究研究,我觉得那西西好强大!
————几乎从概念上颠覆了网页制作的常规! :_)
(我不懂的西西都是厉害的,比如XML/WebService等。)



通过URL传递:
...
window.location.href="process.asp?width="+varWidth+"&height="+varHeight;
...
然后通过request.querystring("width")和request.querystring("height")可以获取值!


通过FORM传递:
...
<form name=fn action="process.asp" method="post">
<input type=hidden name=width>
<input type=hidden name=height>
</form>
<script>
...
document.all.width.value=varWidth;
document.all.height.value=varHeight;
fn.submit();
...
然后通过request.form("width")和request.form("height")取值!
当然,如果你把method改成get,实际上就是通过URL传递,和第一个方法实质上是一样的。