未捕获的ReferenceError:未定义functionName

时间:2014-01-16 19:36:47

标签: javascript

我已查看此threadthis one,但这对我没有帮助。

我有一个ASP:CheckBox控件如下所示。

<asp:CheckBox ID="chbArchived" runat="server" Checked='<%# Bind("archived") %>' OnClick=changeExpirationDate() />

我的JavaScript如下:

<script type="text/javascript">
        $(document).ready(function () {
            //alert("got here");
            $('.insDateTime').datetimepicker({
                ampm: true
            });
            changeExpirationDate(){
                var currentDate = new Date;
                var futureDateTime = (currentDate.getMonth() + 4) + '/' + currentDate.getDate() + '/' + currentDate.getFullYear() + ' ' + formatAMPM(currentDate);
                var expiredDateTime = (currentDate.getMonth() + 1) + '/' + currentDate.getDate() + '/' + currentDate.getFullYear() + ' ' + formatAMPM(currentDate);
                var archivedCheckbox = document.getElementById('cphContent_fmvNewsEventList_chbArchived').checked;
                if(archivedCheckbox == true)
                {
                    document.getElementById('cphContent_fmvNewsEventList_txtExpirationDate').value = expiredDateTime;
                }
                else{
                    document.getElementById('cphContent_fmvNewsEventList_txtExpirationDate').value = futureDateTime;
                }
            };
            function formatAMPM(date) {
                var hours = date.getHours();
                var minutes = date.getMinutes();
                var ampm = hours >= 12 ? 'pm' : 'am';
                hours = hours % 12;
                hours = hours ? hours : 12; // the hour '0' should be '12'
                minutes = minutes < 10 ? '0'+minutes : minutes;
                var strTime = hours + ':' + minutes + ' ' + ampm;
                return strTime;
            };
        });        
    </script>

问题是当我点击复选框时,我一直收到此JavaScript错误“Uncaught ReferenceError:changeExpirationDate is not defined”。任何建议/帮助都非常感谢。

3 个答案:

答案 0 :(得分:1)

});
changeExpirationDate(){    <-- where is the function declaration?
    var currentDate = new Date;

又名

function changeExpirationDate () {

答案 1 :(得分:1)

更改

changeExpirationDate(){

function changeExpirationDate(){

第一个使它看起来像你试图称之为;第二个定义它。

答案 2 :(得分:0)

好的,再看一次后,我发现这是一个非常愚蠢的错误。我在函数名称changeExpirationDate()之前忘记了“函数”,因此,它给了我这个错误。