예약 가격을 계산하는 코드를 작성했습니다. 이 코드는 Chrome, Firefox, Edge에서 작동하지만 IE (10)에서는 작동하지 않습니다. 아주 처음부터의 경고조차도 나타나지 않기 때문에 단순히 발동하지 않습니다. 나는 DirectX를 허용했고 보안 옵션에서 가장 낮은 옵션으로 보안을 설정했다. 나는 이것이 어떤 이유인지 모른다. IE 10에서 JavaScript 코드가 작동하지 않습니다.
는 라이브 테스트 양식의 첫 페이지에 기입하고 도착 날짜와 출발 날짜를 선택하면 두 번째 페이지에 스크립트를 해고해야합니다 : https://www.vakantiehuislesforges.com/reserveren-stap1/이 그것을 트리거 할 수있는 이벤트입니다 :
<input type="text" name="aankomstdatum" id="aankomstdatum" onchange="aankomstdatumInput();berekenPrijs()">
그리고 이것은 자바 스크립트 코드 :
var aankomstDatumDate;
var vertrekDatumDate;
var spans;
var totaalPersonen;
alert("IE test");
//Get arrival date from datepicker + aantal kinderen & volwassenen
function aankomstdatumInput() {
var aankomstDatum = document.getElementById("aankomstdatum").value;
//alert(aankomstDatum);
document.getElementById("aankomst").innerHTML = aankomstDatum;
var parts = aankomstDatum.split('-');
aankomstDatumDate = new Date(parts[2],parts[1]-1,parts[0]);
//alert(aankomstDatumDate);
document.getElementById("aankomstDate").innerHTML = aankomstDatumDate;
//get aantal kinderen en volwassenen
spans = document.querySelectorAll('#aantallen span');
totaalPersonen = Array.from(spans).reduce((sum, spanElm) => sum + Number(spanElm.textContent), 0);
//alert(totaalPersonen);
}
//Get departure date from datepicker
function vertrekdatumInput() {
vertrekDatum = document.getElementById("vertrekdatum").value;
//alert(vertrekDatum);
document.getElementById("vertrek").innerHTML = vertrekDatum;
var parts2 = vertrekDatum.split('-');
vertrekDatumDate = new Date(parts2[2],parts2[1]-1,parts2[0]);
document.getElementById("vertrekDate").innerHTML = vertrekDatumDate;
}
//fire function onchange and get the arrival date and departure date and make the array
function berekenPrijs() {
//var aankomst = new Date("November 25, 2017");
//var vertrek = new Date("December 2, 2017");
//alert(aankomstDatumDate);
//alert(vertrekDatumDate);
//alert(aankomst);
var maand = aankomstDatumDate.getMonth();
var verblijfDagen = [];
var day = 1000*60*60*24;
var diff = (vertrekDatumDate.getTime()- aankomstDatumDate.getTime())/day;
//calculate all seperate days from arrival date to departure date and put them in an array
for(var i=0;i<=diff; i++)
{
var xx = aankomstDatumDate.getTime()+day*i;
var yy = new Date(xx);
var zz = (yy.getDate()+"-"+(yy.getMonth()+1)+"-"+yy.getFullYear());
var parts = zz.split('-');
var zzDate = new Date(parts[2],parts[1]-1,parts[0]);
//check if this date is a saturday and in the correct Date structure && zzDate mag niet gelijk zijn aan vertrekdatum of laatst
if(zzDate.getDay() === 0) verblijfDagen.push(zzDate);
//alert(verblijfDagen);
}
//check if all the days are in the array
//alert (verblijfDagen);
//declare the period of the different seasons and the daily cost rate during this season
var December2019 = {startDate: new Date(2019,12-1,1), endDate: new Date(2019,12-1,31), costRate: 550};
var November2019 = {startDate: new Date(2019,11-1,1), endDate: new Date(2019,11-1,30), costRate: 550};
var Oktober2019 = {startDate: new Date(2019,10-1,1), endDate: new Date(2019,10-1,31), costRate: 690};
var September2019 = {startDate: new Date(2019,9-1,1), endDate: new Date(2019,9-1,30), costRate: 1190};
var Augustus2019 = {startDate: new Date(2019,8-1,1), endDate: new Date(2019,8-1,31), costRate: 1690};
var Juli2019 = {startDate: new Date(2019,7-1,1), endDate: new Date(2019,7-1,31), costRate: 1690};
var Juni2019 = {startDate: new Date(2019,6-1,1), endDate: new Date(2019,6-1,30), costRate: 1190};
var MeiEind2019 = {startDate: new Date(2019,5-1,15), endDate: new Date(2019,5-1,31), costRate: 1190};
var MeiBegin2019 = {startDate: new Date(2019,5-1,1), endDate: new Date(2019,-1,14), costRate: 840};
var April2019 = {startDate: new Date(2019,4-1,1), endDate: new Date(2019,4-1,30), costRate: 750};
var Maart2019 = {startDate: new Date(2019,3-1,1), endDate: new Date(2019,3-1,31), costRate: 550};
var Februari2019 = {startDate: new Date(2019,2-1,1), endDate: new Date(2019,2-1,30), costRate: 550};
var Januari2019 = {startDate: new Date(2019,1-1,1), endDate: new Date(2019,1-1,31), costRate: 550};
var December2018 = {startDate: new Date(2018,12-1,1), endDate: new Date(2018,12-1,31), costRate: 550};
var November2018 = {startDate: new Date(2018,11-1,1), endDate: new Date(2018,11-1,30), costRate: 550};
var Oktober2018 = {startDate: new Date(2018,10-1,1), endDate: new Date(2018,10-1,31), costRate: 690};
var September2018 = {startDate: new Date(2018,9-1,1), endDate: new Date(2018,9-1,30), costRate: 1190};
var Augustus2018 = {startDate: new Date(2018,8-1,1), endDate: new Date(2018,8-1,31), costRate: 1690};
var Juli2018 = {startDate: new Date(2018,7-1,1), endDate: new Date(2018,7-1,31), costRate: 1690};
var Juni2018 = {startDate: new Date(2018,6-1,1), endDate: new Date(2018,6-1,30), costRate: 1190};
var MeiEind2018 = {startDate: new Date(2018,5-1,15), endDate: new Date(2018,5-1,31), costRate: 1190};
var MeiBegin2018 = {startDate: new Date(2018,5-1,1), endDate: new Date(2018,-1,14), costRate: 840};
var April2018 = {startDate: new Date(2018,4-1,1), endDate: new Date(2018,4-1,30), costRate: 750};
var Maart2018 = {startDate: new Date(2018,3-1,1), endDate: new Date(2018,3-1,31), costRate: 550};
var Februari2018 = {startDate: new Date(2018,2-1,1), endDate: new Date(2018,2-1,30), costRate: 550};
var Januari2018 = {startDate: new Date(2018,1-1,1), endDate: new Date(2018,1-1,31), costRate: 550};
var December2017 = {startDate: new Date(2017,12-1,1), endDate: new Date(2017,12-1,31), costRate: 550};
var November2017 = {startDate: new Date(2017,11-1,1), endDate: new Date(2017,11-1,30), costRate: 550};
var allSeasons = [November2017, December2017, Januari2018, Februari2018, Maart2018, April2018, MeiBegin2018, MeiEind2018, Juni2018, Juli2018, Augustus2018, September2018, Oktober2018, November2018, December2018, Januari2019, Februari2019, Maart2019, April2019, MeiBegin2019, MeiEind2019, Juni2019, Juli2019, Augustus2019, September2019, Oktober2019, November2019, December2019];
//check if this date is in the correct Date structure
//alert(November2017.startDate instanceof Date);
//check if the date is correct
//alert (November2017.startDate);
var totalPrice = 0;
for (var u = 0; u < verblijfDagen.length; u++) {
for(var j = 0; j < allSeasons.length; j++) {
if (verblijfDagen[u] >= allSeasons[j].startDate && verblijfDagen[u] <= allSeasons[j].endDate) {
//Add costRate of this date to totalPrice
totalPrice = totalPrice + allSeasons[j].costRate;
}
}
}
var totalPriceFinal = totalPrice + (totaalPersonen*10);
var totalVoorschot = totalPriceFinal/100*50;
var totalRestBedrag = totalPriceFinal/100*50;
//alert (totalVoorschot);
//alert (totalRestbedrag);
document.getElementById("totaalPrijsLabel").innerHTML = totalPriceFinal;
document.getElementById("totaalPrijs").value = totalPriceFinal;
document.getElementById("totaalVoorschot").value = totalVoorschot;
document.getElementById("totaalRestbedrag").value = totalRestbedrag;
};
여러분의 도움에 감사드립니다!
: 새로운 날짜 (2018, -1,14)'? ', -1,'을 (를) 가지려고합니까? –
더 중요한 것은 "어떻게 작동하지 않는지"를 어떻게 알 수 있습니까? 오류? 잘못된 결과입니까? –
그것은 단순히 아무 것도하지 않습니다. 페이지로드시 트리거되어야하는 테스트 경고를 추가하고 심지어는 표시하지 않습니다. -1은 의도적입니다. –