2つの日付が選択されているページがあり、それらの包括的な違いが3番目のテキスト入力に表示されます。JavaScript IEでFirefox、ChromeなどでNaNエラーが発生しました
計算はFirefox、Chromeなどでうまく行われますが、IE6、IE7 & IE8ではNaNエラーが表示されます。
私はparseInt()、number()などを試しましたが、役に立たないです。
これはすべて一時的にhttp://www.thewebdes.co.uk/dev/hol/に保存されています。また、.rarファイルがありますので、ご希望の場合はすべてのコードをダウンロードできます。私はそれがJavaScriptで良い人には簡単なものだと思っています!
---編集---
申し訳ありませんが、みんな、
$('#firstday, #lastday').datepicker({
showOn: 'both',
buttonImage: 'img/cal.gif',
dateFormat: 'dd/mm/yy',
onSelect: function(){
// Date will give time difference in miliseconds, divide with 1000*60*60*24
var firstday = new Date($("#firstday").val().split("/").reverse().join(","));
var lastday = new Date($("#lastday").val().split("/").reverse().join(","));
// Remove weekend days from count
var weekend_count = 0;
for (i = firstday.valueOf(); i <= lastday.valueOf(); i+= 86400000) {
var temp = new Date(i);
if (temp.getDay() == 0 || temp.getDay() == 6) {
weekend_count++;
}
}
var totaldays = ((lastday - firstday)/86400000) + 1 - weekend_count;
$('#totaldays').val(parseInt(totaldays)); // parseInt as sometimes, with a long gap between first and last, a decimal number is displayed. Ok, people wont be booking 120 day holidays, but it keeps things proper
}
});
に
を変更する方法ちょうどここ*関連*コードを掲示するでしょうか?たぶんIEはちょうど2つの 'Date'オブジェクトを減算するのが好きではありません。ミリ秒単位で表現してみてください。 –
人を別のサイトに誘導する代わりに、ここにコードを掲載してください。 – Oded
問題はおそらくfirefoxで動作するデータの "日付文字列"にありますが、ieではありません。 – Raynos