我的jsp前台有一个表单,我用原生JS写一个页面各个输入项不为空的判断,浏览器为opera,有一个很奇怪的现象就是
当如下代码
else if (document.getElementById('recommended_alias')) {
if (form1.recommended_alias.value.trim()=="") {
alert("请填写推荐别名!");
form1.recommended_alias.focus();
return false;
}
} else if(form1.file.value.trim()==""){
alert("请选择上传文件!");
form1.file.focus();
return false;
} 当上面这个else if执行完毕时,下面这个else if就不执行了 ,请教下这是为什么啊 谢谢了 等 急
当如下代码
else if (document.getElementById('recommended_alias')) {
if (form1.recommended_alias.value.trim()=="") {
alert("请填写推荐别名!");
form1.recommended_alias.focus();
return false;
}
} else if(form1.file.value.trim()==""){
alert("请选择上传文件!");
form1.file.focus();
return false;
} 当上面这个else if执行完毕时,下面这个else if就不执行了 ,请教下这是为什么啊 谢谢了 等 急
[else if(){}]
[else if(){}][else{}][]是表示可选的这是if条件判断的基本结构。。楼主没有首先用if判断,怎么能直接写else if 呢
所以楼主的代码可以改成这样:else if (document.getElementById('recommended_alias')) {
if (form1.recommended_alias.value.trim()=="") {
alert("请填写推荐别名!");
form1.recommended_alias.focus();
return false;
}
}if(form1.file.value.trim()==""){
alert("请选择上传文件!");
form1.file.focus();
return false;
}
而楼主上面那种就是要求一个if/else if语句能够执行当中的两个判断。所以,当然不行。所以下面这个
else if(form1.file.value.trim()==""){
alert("请选择上传文件!");
form1.file.focus();
return false;
}
else if子句独立成一个if语句就可以了。