循环秘贴和自生秘贴:asp调用函数问题
<form method="post" name="form" target="_self" >
<input type="text" name="a" >
<input type="submit" name="Submit" value="提交" onClick="<%=a%>">
<%
function ok()
if request.Form("a")="" then%>
<script language="javascript">
alert("wrong")
</script>
<%end if
end function
Dim a
a=ok()
%>
asp是服务器端脚本,javascript是客户端脚本,你的代码执行时,会先运行所有服务器端脚本,运行后的返回结果输送到客户端浏览器,javascript是作为返回结果的一部分输送的,然后javascript在客户端浏览器执行,最终生成你看到的内容。
asp和javascript是不能像你的程序这样互相调用的,尤其不能用onclick="<%=a%>"这种形式调用,因为实际上写进浏览器的内容是onclick=""(a的值为空)。
如果你要点击按钮时隐式执行一段asp代码,就必须把这段代码存储成另一个asp文件(a.asp),再定义一个隐藏iframe(名为iff),然后点击按钮的事件这样定义:onclick="iff.location='a.asp'"
如果你要执行的代码中要影响原程序中的变量,那必须将变量用Session代替,否则是没有办法的。另外,即使在a.asp里变更了Session,原页面中的结果仍是无法改变的,除非你指定了刷新事件。
修改为:<form method="post" name="form" target="_self" >
<input type="text" name="a" >
<input type="submit" name="Submit" value="提交" onClick="<%=a%>">
<%
if request.Form("a")="" then%>
<script language="javascript">
alert("wrong")
</script>
<%end if
%>
看看可以不?
---------------------------------
欢迎到群2:20831647
群3:23294350
群4:20828063
是讨论asp的qq群。,先加群2。期待中。