2016-06-21 3 views
0

Je l'jsFiddle suivante: https://jsfiddle.net/tzer0syu/2/avec JS valeurs non définies/non défini

Cela fonctionne très bien, mais lors de l'utilisation avec ma forme primaire et le plug-in date d'amorçage, les champs date et heure wont mise à jour sur le changement. La fonction et les champs sont nommés exactement comme dans le violon et aucune erreur dans la console. Des idées sur ce que je peux faire pour forcer le chèque pour onchange? Y a-t-il une meilleure façon de faire la vérification et d'ignorer les blancs s'ils existent?

code ci-dessous:

<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

Je ne suis pas sûr de ce que vous demandez. Y at-il un problème avec le code dans JSFiddle, ou est-ce seulement quand vous l'utilisez avec Bootstrap ou dans un autre contexte que vous voyez le problème? Avez-vous inclus assez de code pour montrer le problème réel? – nrabinowitz

+0

Im utilisant des champs cachés avec bootstrap et les champs seront mis à jour si je donne une valeur au chargement de la page en appelant la fonction. Toutefois, lorsque le champ change, les champs ne mettent pas à jour la date et l'heure. Y at-il un moyen de résoudre avec la console sur pourquoi ou une autre méthode, plutôt que de supprimer tous les scripts que je dois trouver le coupable? Le DOM ne renvoie pas l'information à Chrome que je peux voir. – user3691635

Répondre

0

Ok, donc je l'ai trouvé le problème était le plugin Bootstrap DateTimePicker, voici le code complet pour ceux qui ont le même problème: La question principale était de contrôle pour les onchange avec le bon ordre: dp.change pas changer.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(); 
      }); 

      });