1

私は記録休暇のための簡単なアプリケーションを作っています。このアプリケーションでは、休暇の開始日と終了日を選択し、その2日間の間にすべての営業日を計算します。これまでのところ私のコードはクロムとfireforを完璧に扱っていました。私は選択した2つの日付のJquery UIの日付ピッカーを使用しており、カウント日付の2番目の日付ピッカーの変更イベントを使用し、HTML入力ボックス内に表示します。 IEで は、この関数壊れていると私は、日付時刻ピッカーを使用して2つの日付を設定した後に変更イベントがこのIE11 java-script on-changeイベントがhtmlフォーム要素で動作しない

<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> 

がどのように私はこの問題を解決することができ、私のコードのサンプルです

を発射しませんか?このコードはchromeとfirfoxで完璧に動作しています。そして、htmlでフォームタグを削除すると、IEでも動作するようになります。

+0

あなたはJavaScriptでのonchangeリスナーを追加してみてもらえますか?たぶん、IEは属性を使いこなしているのでしょうか? – Whothehellisthat

+0

私はすでにそれも試しましたが運はありません!! –

+0

'calnumofdays'関数はどこにありますか? – Whothehellisthat

答えて

0

編集これらの部品calnumofdays上、それが動作します...

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

ありがとうございますが、これもうまくいきません!! –

+0

正しい@Omasu Plus –

+0

デバッグするためにf12開発ツールを使用します...私はパスタのコードをコピーして、問題を見つけました。自分自身を試してください:) –

関連する問題