如果你能很好的理解我下面的一句話,那這些都不是問題了。
asp是服務器端語言,它的作用是動態生成客戶端浏覽器所能識別的html css javascript 等...
那麼asp 怎麼傳值給js呢?
動態的去生成js就好啦~~ 我們是怎麼生成html的?
不是這樣嗎?
程序代碼
<table>
<%do while not rs.eof%>
<tr><td>
<a href=<%=rs("id")%>><%=rs("name")%></a>
</td></tr>
<%rs.movenext
loop%>
</table>
怎麼生成的name值? <%=rs("name")%> 那麼怎麼生成js裡的值呢?
比如一個js變量js_name 要得到asp裡的變量asp_name的值
去生成啊
<script>
js_name=<%=asp_name%>
</script>
和生成html沒有區別,同樣的,
css也可以生成 vbscript vml 甚至xml 都可以去動態生成,和生成html沒有區別。
如果你理解了上面的話,那asp傳值給js就沒問題了。
下面說js傳值給asp
html怎麼傳值給asp的? 常用兩種方法是form提交和 url後跟的後綴去傳值
js也一樣, form 提交 url後綴
舉例如
form提交,先將js的變量賦值給某個input
<script>
document.form1.inputX.value=js_name
</script>
然後form1.submit(),把表單提交
舉例如
url傳值,
<script>
window.open("www.blueidea.com/index.asp?asp_name="+js_name)
</script>
還是那句話,和html原理一樣,因為js/html都是客戶端的東西
還有一種方法,可以讓js-asp互相傳值,那就是通過cookie
asp裡可以 設置一個cookie -> a1=111
js裡得cookie的值,就可以用js裡的 document.cookie 去得到所有的cookie值
然後通過適當的截取,就能得到a1的值為111
同樣 js 裡去設置a1=111,asp裡也能讀到這個cookie的正確的值
以上:
同樣適用於asp/jsp/php/....所有服務器端語言 同 js/vbs的傳值