2016-06-21 468 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(); 
      }); 

      });