javascript为什么还要继续???????

来源:百度知道 编辑:UC知道 时间:2024/05/09 05:28:08
<script language="javascript">
function checkNull(Form){
for(i=0;i<Form.length;i++){
if(Form.elements[i].value==""){
alert(Form.elements[i].title+"不能为空");
Form.element[i].focus();
return false;
}else{
return true;
}
}
}
</script>

<input type="submit" name="Submit" value="提交" onClick="return checkNull(form1);"/>
1.这个页面上有用户名和密码两个文本框,当输入用用户名但不输入密码时不会弹出对话框是怎么回事啊?
2.当弹出对话框单击“确定”后表单还是提交了,为什么啊?
我按照前两位的说法改了,但页面还……是……提交了

还提交 很简单 因为我偷了个懒复制了下你的程序 没想到 你的 Form.element[i].focus(); 这个是错的 应该是Form.elements[i].focus(); 结果就造成了我写的还提交...我改好了 这次应该没问题了

你做了一个循环检测为空 当你填写用户名时 if(Form.elements[i].value=="")不成立 直接跳到 else{ return true; } 表单已经提交了 就不往下走 验证下一个项目了 所有造成提交 并且不检测。
把JS改成这样就好了

<script language="javascript">
function checkNull(Form){
for(i=0;i<Form.length;i++){
if(Form.elements[i].value==""){
alert(Form.elements[i].title+"不能为空");
Form.elements[i].focus();
return false;

Form.submit();
}
}
}
</script>

<script language="javascript">
function checkNull() {
var Forms=document.getElementById("form1").elements;
for(var i=0;i<Forms.length;i++){
if(Forms[i].value=="") {
alert(Forms[i].title+"不能为空");
Forms[i].focus();
return false;
}
}
}
</script>