2016-06-21 215 views
0

我有以下的jsfiddle:https://jsfiddle.net/tzer0syu/2/未定义/ undefined和JS值

这个伟大的工程,但是当我的主要形式和引导日期插件使用,日期和时间字段惯于上的变化更新。该函数和字段的命名与控制台中的错误相同。关于我能做些什么来强制检查onchange?有没有更好的方法来做检查,如果存在则忽略空白?下面

代码:

<input type="text" id="incidentDateTime" name="incidentDateTime" value="06/22/2016 1:30 PM" /> 
<input type="text" id="incidentDate" value="" /> 
<input type="text" id="incidentTime" value="" /> 

$(function() { 
      function time1() { 
      var dateTimeSplit = $('#incidentDateTime').val().split(' '); 

      var dateSplit = dateTimeSplit[0].split('/'); 
      var currentDate = dateSplit[0] + '/' + dateSplit[1] + '/' + dateSplit[2]; 
      //currentDate is 18/10/2010 

      $('#incidentDate').val(currentDate); 

      var currentTime = dateTimeSplit[1] + ' ' + dateTimeSplit[2]; 
      //currentTime is 10:06 PM 

      $('#incidentTime').val(currentTime); 
    if (isNaN(incidentDateTime)) { 
        $("#incidentDate").val(); 
       } else { 
        $("#incidentDate").val(CurrentDate); 
       } 
      } 
      $("#incidentDateTime").change(time1); 
       time1(); 
      }); 
+0

我不确定你在问什么。 JSFiddle中的代码是否存在问题,或者仅当您在Bootstrap或其他上下文中使用此问题时才会发现问题?你是否包含足够的代码来显示实际问题? – nrabinowitz

+0

即时通讯使用隐藏字段与引导和字段将更新,如果我给页面加载调用函数的值。但是,当该字段更改时,这些字段不会更新日期和时间。有没有一种方法来解决控制台为什么或其他方法,而不是删除每个脚本我必须找到罪魁祸首? DOM不会将信息发送回Chrome,我可以看到。 – user3691635

回答

0

好了,我发现这个问题是引导dateTimePicker的插件,这里是为那些谁可能有同样的问题的完整代码:主要的问题是检查的平变化与正确的顺序:dp.change not change.dp

//Date Time Split Function 
     $(function() { 
      function time1() { 
      var dateTimeSplit = $('#incidentDateTime').val().split(' '); 

      var dateSplit = dateTimeSplit[0].split('/'); 
      var currentDate = dateSplit[2] + '-' + dateSplit[0] + '-' + dateSplit[1]; 
      //currentDate is 18/10/2010 

      $('#incidentDate').val(currentDate); 

      var currentTime = dateTimeSplit[1] + ' ' + dateTimeSplit[2]; 
      //currentTime is 10:06 PM 

      $('#incidentTime').val(currentTime); 

      } 
      $('#incidentdiscovered').on("dp.change", function() { 
       time1(); 
      }); 

      });