function daysBetween() 

DateOne = document.getElementById("date1").val();
DateTwo = document.getElementById("date2").val();
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); 
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); 
var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));

var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-')); 
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); 
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));

var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);   
document.write(Math.abs(cha)); //这里将日期差取了绝对值,如果需要-号不被去掉,则用return cha;

}每次提交表单的时候都提示“网页上有错误” 不知道为什么…… 我没专门学过JS,也不知道怎么调试……请问JS有没有可能显示出具体出错的行数和原因? 每次都只是提示网页上有错误,不知道怎么解决

解决方案 »

  1.   

    用firefox浏览器的插件firebug可以调试js代码。
      

  2.   

    DateOne = document.getElementById("date1").val();
    DateTwo = document.getElementById("date2").val();没有定义
    改成var  DateOne = document.getElementById("date1").val();
    var  DateTwo = document.getElementById("date2").val();试试看
      

  3.   

    什么浏览器啊,看不到具体错误,不行每行alert一下,就知道哪错了
      

  4.   

    ie左下角,黄色error图片点击打开,看看那行。
      

  5.   

    2L:
    修改好了,还是有错
    function daysBetween() 

    var DateOne = document.getElementById("date1").val();
    var DateTwo = document.getElementById("date2").val();
    var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); 
    var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); 
    var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));

    var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-')); 
    var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); 
    var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));

    var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);   
    document.write(Math.abs(cha)); //这里将日期差取了绝对值,如果需要-号不被去掉,则用return cha;

    }
      

  6.   


    function daysBetween() 

    var DateOne = document.getElementById("date1");
    var DateTwo = document.getElementById("date2");
    var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); 
    var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); 
    var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));

    var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-')); 
    var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); 
    var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));

    var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);   
    document.write(Math.abs(cha)); //这里将日期差取了绝对值,如果需要-号不被去掉,则用return cha;

    }
    修改了一下,现在行27出错了,还是不支持此属性或方法
      

  7.   

    把变量alert下,估计是substring越界了。
      

  8.   


    var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); 这是第27行的内容 alert(DateOne);得到的提示是:Object
      

  9.   


           function daysBetween() 
            { 
                var DateOne = document.getElementById("date1").value;
                var DateTwo = document.getElementById("date2").value;

    //这样看看看
                var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); 
                var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); 
                var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));
            
                var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-')); 
                var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); 
                var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));
            
                var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);   
                document.write(Math.abs(cha)); //这里将日期差取了绝对值,如果需要-号不被去掉,则用return cha;
            
            }
      

  10.   

    var DateOne = document.getElementById("date1");
    这个得到的是一个对象,不是值
    应该这么写:var DateOne = document.getElementById("date1").value;
      

  11.   

    document.getElementById("date1")得到的是一个dom对象是没有substring方法的;
    第一次报错是因为没有.val()这个方法,应该用.value属性
      

  12.   

    按照14楼的方法修改以后,没有错误了,但是输出内容不对
    function daysBetween() 

    var DateOne = document.getElementById("date1").value;
    var DateTwo = document.getElementById("date2").value;
    var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); 
    var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); 
    var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));

    var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-')); 
    var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); 
    var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));

    var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);   
    alert(Math.abs(cha)); //这里将日期差取了绝对值,如果需要-号不被去掉,则用return cha;

    }输出结果为NaN
      

  13.   

    function daysBetween() 

        var DateOne = document.getElementById("date1").value;
        var DateTwo = document.getElementById("date2").value;
        var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-')); 
        var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); 
        var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));    var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-')); 
        var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); 
        var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));    var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);   
        document.write(Math.abs(cha)); //这里将日期差取了绝对值,如果需要-号不被去掉,则用return cha;}页面中:<input id="date1" type="text"/><br/>
      <input id="date2" type="text"/>
       <input type="button"  onclick="daysBetween()" value="ssssss">这个我试过的,可以,你在看看页面中的标签的id有没有定义,