私は記録休暇のための簡単なアプリケーションを作っています。このアプリケーションでは、休暇の開始日と終了日を選択し、その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でも動作するようになります。
あなたはJavaScriptでのonchangeリスナーを追加してみてもらえますか?たぶん、IEは属性を使いこなしているのでしょうか? – Whothehellisthat
私はすでにそれも試しましたが運はありません!! –
'calnumofdays'関数はどこにありますか? – Whothehellisthat