当前位置: 代码迷 >> Java Web开发 >> js表单证验只通过第一项就提交了
  详细解决方案

js表单证验只通过第一项就提交了

热度:6998   发布时间:2013-02-25 21:08:36.0
js表单验证只通过第一项就提交了
function checkInput(frm){
//检查用户名......
if(frm.user.value.length<1){
frm.user.select();
frm.user.focus();
alert("用户名不能为空!");
return false;
}
if(getLength(frm.user.value)>20||getLength(frm.user.value<4)){
frm.user.focus();
frm.user.select();
alert("用户名必须为4-20个字符!");
return false;
}
//检查密码.....
if(frm.password.value==""){
frm.password.focus();
frm.password.select();
alert("密码不能为空!");
return false;
}
if(getLength(frm.password.value)>20){
frm.password.focus();
frm.password.select();
alert("密码长度不能超过20!");
return false;
}
return true;
}
<form action="loginServlet" method="post" name="frm" onsubmit="return checkInput(this);" >
为什么用户名验证通过后直接提交了?
能帮忙解答下吗?在火狐下firebug调试,,看看alert("用户名不能为空!");
这个出来了,但是输入密码为空的时候
alert("密码不能为空!");这个没出来,急死了if( frm.password.value==null ==“” 一个条件判断不了。不能把它作为唯一条件 。if(frm.password.value=="")照你说的,应该是if没进去。也就是说password!=""你可以比照用户名的验证用length验证下。

alert("用户名不能为空!");

这句话有没有弹出来?
提交了说明验证成功啊! 你这样的代码看不出那里验证数据  最好把结果贴上来再带上你写的数据!if(frm.password.value==null )试试if(frm.password.value==""){
alert 你的密码看看 前后加上一个字符 。。 f你的密码f frm.password.value=="" )
试一下。
或者和用户名采用相同的判断方式
if( frm.password.value.length < 1 )

最好把代码贴全,现在看不出你的密码输入位置是如何定义的 length也不行,就是说只能将第一个if执行了,后面的就没音了
引用:
alert("用户名不能为空!");
这个出来了,但是输入密码为空的时候
alert("密码不能为空!");这个没出来,急死了


if(frm.user.value.length<1){
frm.user.select();
frm.user.focus();
alert("用户名不能为空!");
return false;
}
这里已经return false了,之后的都不会执行了。没填怎么能用""来判断呢?
  相关解决方案