0

Uncaught TypeError: Impossible de lire la propriété "getTime" undefined
Vous pouvez trouver l'erreur journal here.Bootstrap datetimepicker- Uncaught TypeError: Impossible de lire la propriété "getTime" undefined

$('.modal-body').on("focus","#date",function() { 
    var date = $('#date').val(); 
    $('#date').datetimepicker({ 
     defaultDate: date, 
     language: 'zh-CN', 
     pickDate: true, 
     pickTime: true, 
     autoclose: true, 
     format: 'yyyy-mm-dd', 
     todayBtn: true, 
     minView: 2, 
     startView: 3, 
     pickerPosition: "bottom-left" 
    }); 
); 

Inséré dans la fenêtre pop-up

$('#edit').click(function(){ 
    $.ajax({ 
     url: "{:U('SystemSettingMgt/settingConf')}", 
     type: 'post', 
     data: { 
      'id' : $(this).siblings('input').val(), 
      'is_active' : 1, 
     }, 
     success:function(json){ 
      $('.modal-body').children().empty(); 
      var str = ''; 
      switch(json.datatype){ 
       // yes/false 
       case "1": 
        str += '<label>select setting</label>'; 
        str += '<input type="hidden" id="id" value="'+json.id+'">'; 
        str += '<input type="hidden" id="datatype" value="'+json.datatype+'">'; 
        str += '<select name="value" id="value" class="form-control">'; 
        if (json.value == 1) { 
         str += '<option value="1" selected>yes</option>'; 
         str += '<option value="0"false</option>'; 
        }else if(json.value == 0){ 
         str += '<option value="1">yes</option>'; 
         str += '<option value="0" selected>false</option>'; 
        } 
        str += '</select>'; 
        $('.modal-body').children().append(str); 
        break; 

       // enter string 
       case "2": 
        str += '<label>enter setting</label>'; 
        str += '<input type="hidden" id="id" value="'+json.id+'">'; 
        str += '<input type="hidden" id="datatype" value="'+json.datatype+'">'; 
        str += '<input name="value" id="value" class="form-control" value="'+json.value+'">'; 
        $('.modal-body').children().append(str); 
        break; 

       // enter num 
       case "3": 
        str += '<label>select setting</label>'; 
        str += '<input type="hidden" id="id" value="'+json.id+'">'; 
        str += '<input type="hidden" id="datatype" value="'+json.datatype+'">'; 
        str += '<input type="text" id="value" value="'+json.value+'" name="value" class="form-control" placeholder="设定值" onkeyup="if(! /^\d+$/.test(this.value)){this.placeholder='+'只能整数'+';this.value='+';}">'; 
        $('.modal-body').children().append(str); 
        break; 

       // select date 
       case "4": 
        str += '<label>select setting</label>'; 
        str += '<input type="hidden" id="id" value="'+json.id+'">'; 
        str += '<input type="hidden" id="datatype" value="'+json.datatype+'">'; 
        str += '<input type="text" id="date" name="value" class="form-control date" placeholder="select date" value="'+json.value+'">'; 
        $('.modal-body').children().append(str); 
        break; 

       // date 
       case "5": 
        str += '<label>change setting</label>'; 
        str += '<input type="hidden" id="id" value="'+json.id+'">'; 
        str += '<input type="hidden" id="datatype" value="'+json.datatype+'">'; 
        str += '<input type="text" data-date-format="hh:ii" id="time" name="value" class="form-control date" placeholder="select time" value="'+json.value+'">'; 
        $('.modal-body').children().append(str); 
        break; 

       // select 
       case "6": 
        str += '<label>change setting</label>'; 
        str += '<input type="hidden" id="id" value="'+json.id+'">'; 
        str += '<input type="hidden" id="datatype" value="'+json.datatype+'">'; 
        str += '<select name="datasource" id="value" class="form-control">'; 
        for(i = 0; i < json.datasource.length; i++){ 
         str += '<option value="'+i+'">'+json.datasource[i]+'</option>'; 
        } 
        str += '</select>'; 
        $('.modal-body').children().append(str); 
        break; 
       } 
     } 
    }); 
    $('#editSetting').modal('show'); 
}); 

Je suppose que le format de l'heure est le problème, mais par la valeur jQuery sera donné après l'erreur.

+0

S'il vous plaît partager votre violon de code – Aslam

Répondre

0

Uncaught TypeError: Cannot read property "getTime" of undefined

Cette erreur s'est produite lorsque vous n'avez pas inclus le plug-in jQuery UI.
Assurez-vous de l'inclure avant tout autre script dans votre projet, sauf après le plugin jQuery.

+0

Mais sur d'autres pages, le même code est correct. Je suppose que c'était un conflit jquery, mais aussi rejeté –

+2

Même si le même code est correct dans les autres pages, pour cette page, la hiérarchie des appels jQuery à la bibliothèque jQuery peut être différente. Il est donc possible que le même code échoue dans cette page en raison de l'ordre des importations de la bibliothèque jQuery. – Lahiru

+0

J'ai trouvé le problème, est le format de l'heure du problème, avec json.value plus aller, mais sera donné, je dois maintenant résoudre le problème de format de l'heure –

1

Dans bootstrap-datetimepicker.js est:

getDate: function() { 
     var d = this.getUTCDate(); 
     if (d === null) { 
     return null; 
     } 
     return new Date(d.getTime() + (d.getTimezoneOffset() * 60000)); 
    }, 

mais quand est mis en valeur par exemple de l'entrée: 12h15 puis d est indéfini. Vous pouvez remplacer la fonction getUTCDate dans votre code ou changer si à:

d === null || typeof d ==='undefined'