未捕获的TypeError:无法读取未定义的属性“getTime”
您可以找到错误日志here。
$('.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"
});
);
插入弹出窗口
$('#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');
});
我猜时间格式是问题所在,但是错误后会给出jQuery值。
答案 0 :(得分:4)
在bootstrap-datetimepicker.js中是:
getDate: function () {
var d = this.getUTCDate();
if (d === null) {
return null;
}
return new Date(d.getTime() + (d.getTimezoneOffset() * 60000));
},
但是当输入的设定值为例如:12:15则d未定义。您可以在代码中覆盖getUTCDate函数,或者更改为:
d === null || typeof d ==='undefined'
答案 1 :(得分:0)
未捕获的TypeError:无法读取未定义的属性“getTime”
如果未包含jQuery UI插件,则会抛出此错误 确保在项目中的任何其他脚本之前包含它,除了在jQuery插件之后。