1

Je fais une application simple pour enregistrer les dates de congé. Avec cette application, j'ai o sélectionner la date de début et la date de fin du congé, puis calculer toutes les dates d'affaires entre ces deux jours. Jusqu'à présent, mes codes fonctionnaient parfaitement au chrome et au feu. J'utilise l'outil de sélection de date Jquery UI pour sélectionner deux dates et utiliser le deuxième événement de changement de date de sélecteur de date pour les dates de comptage et l'afficher dans la zone de saisie HTML. Avec IE cette fonction est cassée et après avoir mis deux dates à l'aide sélecteur de date heure événement de changement ne se déclenche pasÉvénement on-change java-script IE11 ne fonctionne pas avec l'élément de formulaire html

c'est échantillon de mon code

<script type="text/javascript"> 
       $(function() { 
       $("#startd").datepicker({beforeShowDay: $.datepicker.noWeekends , dateFormat: 'yy-mm-dd'}); 
       }); 

       $(function() { 
       $("#endd").datepicker({beforeShowDay: $.datepicker.noWeekends , dateFormat: 'yy-mm-dd' }); 
       }); 

function getBusinessDatesCount(startDate, endDate) { 
    var count = 0; 
    var curDate = startDate; 
    while (curDate <= endDate) { 
     var dayOfWeek = curDate.getDay(); 
     if(!((dayOfWeek == 6) || (dayOfWeek == 0))) 
      count++; 
     curDate.setDate(curDate.getDate() + 1); 
    } 
    return count; 
} 
      </script> 


      <form action='reqprocess.php' method='post'> 
       <table class='table table-hover table-responsive table-bordered'> 
      <tr> 
         <td id="td2">Start</td> 
         <td><input type="text" name="datepicker" class='form-control' id="startd" required onchange="calnumofdays()" /></td> 
        </tr> 
         <tr> 
         <td id="td1">End</td> 
         <td><input type="text" name="datepicker2" class='form-control' id="endd" onchange="calnumofdays()" /></td> 
        </tr> 
        <tr> 
         <td>Days</td> 
         <td><input type="number" name='leavehmd' class='form-control' id="lhmd"/></td> 
        </tr> 
       </table> 
      </form> 

    <script type="text/javascript"> 

      function calnumofdays() {   

      var startDate = $(startd).datepicker("getDate"); 
      var endDate = $(endd).datepicker("getDate"); 

      var numOfDates = getBusinessDatesCount(startDate, endDate); 
      $('#lhmd').val(numOfDates); 
      //alert(numOfDates); 
      $('div#result').text(numOfDates); 
      } 
     </script> 

Comment puis-je résoudre ce problème? ce code fonctionne parfaitement bien en chrome et en firfox. Et quand je supprime des balises de formulaire en HTML, il commence à travailler dans IE aussi.

+0

Pourriez-vous essayer d'ajouter les auditeurs onchange avec JavaScript? Peut-être IE est en train de déconner d'utiliser les attributs? – Whothehellisthat

+0

J'ai déjà essayé ça aussi mais pas de chance !! –

+0

Okay. Où est la fonction 'calnumofdays'? – Whothehellisthat

Répondre

0

modifier ces parties sur calnumofdays et cela fonctionnera ...

function calnumofdays() {   

      var startDate = $("#startd").datepicker("getDate"); //edit these 
      var endDate = $("#endd").datepicker("getDate"); //edit these 

      var numOfDates = getBusinessDatesCount(startDate, endDate); 
      $('#lhmd').val(numOfDates); 
      //alert(numOfDates); 
      $('div#result').text(numOfDates); 
      } 
+0

Merci, mais cela ne fonctionne pas trop !! –

+0

Il est correct @Omasu Plus –

+0

utiliser les outils de développement f12 pour déboguer .... je viens de copier les pâtes ur code et trouvé le problème essayez-le vous-même :) –