表单验证是否输入的时候出现了点问题,请高手进来

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:48:53
先在网页最前面定义了一个函数,如下:
<script language="javascript">
function loginonsubmit()
{
if (document.form1.name.value.length==0)
{alert ("请输入你的账号");
document.name.focus();
return false;
}
if (document.form1.password.value.length==0)
{
alert("请输入密码");
document.password.focus();
return false;
}
}
</script>

然后在form表单中定义了提交:
<form id="form1" name="form1" method="post" action="login.asp" onSubmit="return loginonsubmit() ">

但是样出现问题,就是在单击提交后,能跳出提示框,但是依然会转到login.asp而不是继续等待输入
请问高手们,这个应该怎么样来解决呢?

你的代码中有一些错误,第一,如楼主所说,赋予焦点的代码必须完整的写明form名、表单名;第二,有些语法不规范,比如onsubmit后面引用的javascript命令后面应该有分号。第三,function部分,if的后半部分,应该加一个return true。还有,javascript是区分大小写的,你的表单代码没有写出来,如果有表单中的名称使用的大小写与函数中使用的名称不相符,也会出现错误。

我帮你改了一下,经过我的测试,以下代码可以正常运行:

<script language="javascript">
function loginonsubmit()
{
if (document.form1.name.value.length==0) {
alert("请输入密码");
document.form1.name.focus();
return false;
}
return true;
}
</script>

<form name="form1" method="post" action="login.asp" onSubmit="return loginonsubmit();">
<input type=text name="name" value="" size=10>
<input type="submit" name="nextstep" value="确认订单">
</form>

document.name.focus(); 改成document.form1.name.focus();

下面的类似