关于ASP中的客户端VBSCRIPT问题

<body><formid="form1"name="form1"method="POST"action="login.asp?p=t"onsubmit="returnC... <body>

<form id="form1" name="form1" method="POST" action="login.asp?p=t" onsubmit="return Chkfields();">
<table width="265" border="0" align="center">
<tr>
<td colspan="2" bgcolor="#66CCFF"><div align="center" class="STYLE1">管理员登录</div></td>
</tr>
<tr>
<td>用户名:</td>
<td><label>
<input type="text" name="txtName" />
</label></td>
</tr>
<tr>
<td>密码:</td>
<td><label>
<input type="password" name="txtPwd" />
</label></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input type="submit" name="Submit" value="提交" />
</label>
<label>
<input type="reset" name="Submit2" value="重置" />
</label>
</div></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</form>
<script language=vbscript>
function Chkfields()
if form1.txtName.value="" then
window.alert("请输入用户名!")
Chkfields = false
exit function
End if
if form1.txtPwd.value="" then
window.alert("请输入密码!")
Chkfields = false
exit function
End if
Chkfields = true
end function
</script>
</body>
我有一段程序,写成上面那样就没错误,如果把vbscript块放到form前面就会出错不知道这是什么原因,照理来说应该是没区别的啊,请高手帮我解答一下,谢谢!
问题补充:还有onsubmit="return Chkfields()"这个地方return不加就得不到预期的效果,没输入用户名或密码页面也跳到了login.asp中去了,加了return就不会,这又是为什么啊?
展开
 我来答
lzp4881
2008-10-29 · TA获得超过2394个赞
知道大有可为答主
回答量:2825
采纳率:0%
帮助的人:2957万
展开全部
第一个问题:
onsubmit="return Chkfields();"关键在这里面的分号,语句后面加分号是JS的写法,把它去掉onsubmit="return Chkfields()"就没问题了。至于为什么放后面就可以,有点费解,我也想不明白。
第二个问题:
return的意思是把 Chkfields()执行后的结果返回给onsubmit,也就是Chkfields = false 或者Chkfields = true ,只有onsubmit接收到的是true,action才会被执行。如果没有return,它的意思就是执行Chkfields()这个函数,但这个函数永远为真,所以如果没有return,不管验证通没通过,action都会被执行。
出海小达人
2008-10-26 · TA获得超过155个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:236万
展开全部
onsubmit="return Chkfields()"这句是调用FUNCTION的函数
所以不加的话不会执行函数就直接跳到LOGIN.ASP页面了
我放到前面执行过没有错误!
祝你好运!

参考资料: asp

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgfsb111
2008-10-26 · 超过12用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
如果onsubmit="return Chkfields()"要去掉return那需要改变Chkfields()函数了如下:
<script language=vbscript>
function Chkfields()
if form1.txtName.value="" then
window.alert("请输入用户名!")
return false
exit function
End if
if form1.txtPwd.value="" then
window.alert("请输入密码!")
return false
exit function
End if
return true
end function
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式