ASP表单客户端检测的问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:09:55
用Dreamweaver制作的ASP登录页面,表单的提交和处理在同一个页面,我想加入javascript写的表单客户端检测过程
<script language="javascript">
function chkfields()
{
if(document.form1.username.value=="")
{
window.alert("用户名不能为空!");
myform.username.focus();
return false
}
if(document.myform.pwd.value=="")
{
window.alert("请输入密码!");
myform.pwd.focus();
return false
}
return ture
}
</script>

然后将表单属性改为<form id="form1" name="form1" method="post" action="login.asp" onsubmit = "return chkfields()">

问题出现了,虽然chkfields()能够进行检测,但是在检测出表单错误的同时表单仍然提交给了服务器处理.
我想要的效果是表单不能通过客户端检测就不再提交到服务器,请问应该怎样改?
上面的myform应该是form1,打错了
试过如果表单的提交和处理分别在不同的页面,如login.asp和save.asp就不会出现这样问题,不知道是何原因

你可以在action="login.asp"改写成login.asp?step=lg
然后在本页面上部或下部写:
Dim Step
Step = Request.QueryString("step")
if Step = "lg" then
中间部分是你的判断登录语句
end if

或者在JavaScript中使用
form1.action = "login.asp?ky=lg";
form1.submit;
然后在你的提交按钮中来一个onclick语句就搞定。

我现在给把调试正确的代码贴上来!

<script language="javascript">
function chkfields()
{
if(document.form1.username.value=="")
{
window.alert("用户名不能为空!");
form1.username.focus();
return false
}
if(document.form1.pwd.value=="")
{
window.alert("请输入密码!");
form1.pwd.focus();
return false
}
return ture
}
</script>
<form id="form1" name="form1" method="post" action="login.asp" onsubmit="return chkfields()">
<input name="user