1、asp是运行在服务器端的,js是运行在客户端即浏览器中的;
2、执行顺序是先asp,然后才是js
因此,要想把js的变量值传递给asp变量,就要把当前页面重新刷新运行一次,同时把js的变量值作为url的参数传递给后台的asp代码,然后asp的变量再通过request对象获取即可。比如:
<%
if request("abc")<>"" then
abc=request("abc")'这个abc是asp变量
response.write "js传递的变量内容为:" &abc
else
%>
<script>
var abc=123 //这个abc则是js变量
location.href="?abc="+abc
</script>
<%
end if
%>
js和java变量互传在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下:
1、java变量传给js写法如下:
var a="<%=javaParam%>"
注意这里要将引号""加上;
2、js变量给java稍微复杂点,一般是在表单中用一个
的隐藏表单元素,然后在脚本中将js变量值赋给它:
var jsParamValue='aaaa'
form1.jsParam.value=jsParamValue
然后就可以request.getPrameter("jsPrama")
来取得js变量值了。
asp代码是在服务器运行的,而js代码是在浏览器端运行的,也就是说asp代码是先运行的,js代码是后运行的,所以js的变量值是无法直接传递给同一页面的asp的,除非时光倒流!
要想实现这种传递目的,就必须从浏览器再次向服务器发送请求,既可以用普通的url提交或表单提交的方式(页面会刷新),也可以通过无刷新的ajax,但不管用什么方式,都不再是严格意义上的“同一页面”了。