未捕获的ReferenceError:<function>未定义</function>

时间:2014-08-16 14:52:49

标签: javascript jquery

我的jsp文件中有以下代码。

<script>
    $(document).ready(function() {
        var date = new Date();
        var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);

        function getFirstDay() {
            return firstDay;
        }
        ;

        function getToday() {
            return date;
        }
        ;
    });
</script>

<script>
    $('.datepicker').datepicker({
        format : 'yyyy-mm-dd',
        todayHighlight : true
    });

    $("#from_date").datepicker("setDate", getFirstDay());
    $("#to_date").datepicker("setDate", getToday());
    $("#from_date").datepicker('update');
    $("#to_date").datepicker('update');
</script>

但是当页面加载时,我在js控制台上得到了以下错误。

Uncaught ReferenceError: getFirstDay is not defined 

我怎么解决这个问题?

1 个答案:

答案 0 :(得分:5)

要调用的函数不应该将它们放在document.ready()中,使它们全局化,以便可以访问它们。

将您的代码更改为:

<script>

function getFirstDay() {

        var date = new Date();
        var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
        return firstDay;

        }

function getToday() {

            return new Date();
        }

</script>

现在称之为:

<script>
  $(function(){
    $('.datepicker').datepicker({
        format : 'yyyy-mm-dd',
        todayHighlight : true
    });

    $("#from_date").datepicker("setDate", getFirstDay());
    $("#to_date").datepicker("setDate", getToday());
    $("#from_date").datepicker('update');
    $("#to_date").datepicker('update');
 });
</script>