各位请看两段JS,这两段代码在两个不同的页面中,功能基本一样,但第二段代码能正常执行而第一段代码无法执行(连删除时的判断都执行不了)。能考虑到得错误都考虑到了,变量没有错误,调用也没有忘记,求解
一:            <script type="text/javascript">
function checkInsert(){
var bigrolename=document.all['bigrolename'];
if(bigrolename.value=='')){
alert('角色名注意不要空啊');
bigrolename.focus();
return false;
}else{
return true;
}
}

function checkDelete(){
if(confirm('真删了?')){
return true;
}
return false;
}
</script>二:            <script type="text/javascript">
function checkInsert(){
var rolename=document.all['rolename'];
var descn=document.all['descn'];
var rescname=document.all['rescname'];
var priority=document.all['priority'];

if(rolename.value==''){
alert('资源名注意不要空啊')
rolename.focus();
return false;
}
if(descn.value==''){
alert('描述注意不要空啊')
descn.focus();
return false;
}
if(rescname.value==''){
alert('URL注意不要空啊')
rescname.focus();
return false;
}
if(priority.value==''){
alert('优先级注意不要空啊')
priority.focus();
return false;
}
else{
alert('后台没有编写,该操作不可用,只用于增删测试')
return true;

}

}
function checkDelete(){
if(confirm('这么重要的东西想好再删啊')){
return true;
}
return false;
}
</script>

解决方案 »

  1.   

    var bigrolename=document.all['bigrolename']; 变量的名称不要与元素的name属性一样。另外楼主不要再写documeng.all这样的代码了,只有ie支持尽量用document.getElementById('bigrolenameID")
      

  2.   

    function checkInsert(){ 
    var bigrolename=document.all['bigrolename']; 
    if(bigrolename.value=='')){ 
    alert('角色名注意不要空啊'); 
    bigrolename.focus(); 
    return false; 
    }else{ 
    return true; 

    } if (语句),你怎么多了一个反括号呀?
      

  3.   


    大哥我拜服在你脚下,我看了半个多小时啊,各种百度,各种google,最后居然。。谢谢啦
      

  4.   


    其实我就偶尔用些JS的小功能,这些细节还真不知道,没看书学过,thx
      

  5.   

    你用VS几开发的,页面左下角很明显的会有JS报错提示嘛……
    呵呵,叫我姐姐吧,俺是女的!
      

  6.   


    我是用myeclipse开发一个基于spring_security的系统,这个页面在IE下运行时左下角是有错误提示,我看了半天没看出来啊,汗一个
      

  7.   


    if(bigrolename.value=='')){ 
    注意到没,多了个括号!!!!!楼主你是用记事本敲得代码???