帮我看看这段asp代码为什么出现错误?

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>核对用户名和密码</title> <script language="vbscript"> sub hedui() if form1.yonghuming.value = "" or form1.mima.value = "" then alert("填写不完全!") end if end sub </script></head><body> <center> <form name= "form1" action="核对用户名和密码.asp" method="post"> <h1><font face="楷体_GB2312">邮件发送系统</font></h1> <hr> <table border="0" width="400" height="60"> <tr> <td width="100" height="30" bgcolor="#CC3333" align="center">用户名:</td><td><input type="input" size="40" name="yonghuming"></td></tr> <tr> <td height="30" bgcolor="#66FF00" align="center">密  码:</td><td><input type="password" size="40" name="mima"></td> </tr> </table> <input type="submit" name="submit" value="提交">  <input type="reset" name="reset" value="清空"> <% if request.form("submit") = "提交" then call hedui() end if %> </form> </center></body></html>
2026年09月23日 05:10
有3个网友回答
网友(1):

不知道你是否明白服务器端方法和客户端方法的区别?
我帮你解释下你这段代码的问题吧:
你这段代码的错误是因为你的方法定义和方法调用一个是服务器端的,一个是客户端的,是没法相交互的!
有两种改法:第一种,都改成客户端:

这是方法定义,是正确的,用表示定义一个客户JS方法hedui()
<%
if request.form("submit") = "提交" then
call hedui()
end if
%>
这里的调用就有问题了,因为这段代码是括在<%%>标记中,这是一个服务器端方法!是没法调用你定义的客户端JS方法的!运行时会提示方法示定义!
这里可以把这段去掉,然后调用你那个客户端方法的方式是:


把这一句改成:

这样就表示提交数据时调用JS方法来核对

第二种方法:
都改成服务器端代码:
这段-->

去掉,换成服务器端方法:
<%
Sub hedui()
If Request.Form("yonghuming") = "" Or Request.Form("mima") = "" Then
Response.Write("")
End If
End Sub
%>
放进<%%>标记里的才表示的是服务器端方法,这样才可以在带<%%>标记的地方调用它!
然后把方法定义改成这样,你原先的那段
<%
if request.form("submit") = "提交" then
call hedui()
end if
%>
才有效果``

网友(2):

就这个页面而言,是没有错误的..

网友(3):

同意楼上观点,此页面没有任何错误