2016-03-09 2 views
0

Я попытался выполнить поиск в stackoverflow. Были темы по этому вопросу. Я попробовал несколько исправлений, которые были рядом с моим, но никто из них не работал. Я также пробовал Googling тему, но все, что я пробовал, не работает.javascript подтверждает работы, не работающие в chrome или IE, но работает в Firefox

Любая помощь приветствуется.

В этом случае подтверждается работа над javascript, при этом появляется подтверждение, что диалог подтверждения отображается и работает в Firefox, но не работает в IE или Chrome, что означает, что диалоговое окно подтверждения не отображается, и код переместится на следующую следующую страницу как если бы это было подтверждено:

function confirmReserve($checkin, $checkout, $nights, $points) { 

    var $in =new Date($checkin*1000); 
    var $out =new Date($checkout*1000); 
    if (confirm("Your Reservation Details: \n\nCheck-In Date: " + $in.toLocaleFormat('%B %d, %Y') + "\nCheck-Out Date: " + $out.toLocaleFormat('%B %d, %Y') + "\nTotal Nights: " + $nights + "\nTotal points: " + $points + "\n\nClick OK to process reservation.")) { 
    return true; 
} else { 
    return false; 
} 

Но это работает во всех трех:

function confirmDelete() { 
if (confirm("Click OK to confirm cancellation of your reservation.")) { 
    return true; 
} else { 
    return false; 
} 
} 

это та же программа PHP, одни и те же браузеры. Вот HTML на тот, который не работает:

<form method="post" onsubmit="return confirmReserve('<?php echo $InDate;?>', '<?php echo $OutDate;?>', '<?php echo $totalNights;?>', '<?php echo $totalPoints;?>')" action="reservationConf.php"> 

Вот HTML для того, что делает работу:

<form method="post" onsubmit="return confirmDelete()" action="deletereservation.php?ReservationID=' . $Reservation['ReservationID'] . '"> 
+0

Я должен был заметить, что другие тестировали во всех трех браузерах на разных машинах с тем же результатом, что и диалоговое окно подтверждения в IE или Chrome, но получите его в Firefox. – user3533214

ответ

0

попробовать поставить перед вашей функции, код ниже:

var monthNames = ["January", "February", "March", "April", "May", "June", 
    "July", "August", "September", "October", "November", "December" 
]; 

Date.prototype.toLocaleFormat = Date.prototype.toLocaleFormat ||  
    function(pattern) { 
     return pattern.replace(/%Y/g, this.getFullYear()) 
      .replace(/%m/g, (this.getMonth() + 1)) 
      .replace(/%B/g, monthNames[this.getMonth()]) 
      .replace(/%d/g, this.getDate()); 
}; 

вопрос заключается в том, что Chrome и IE отсутствует функция toLocaleFormat, согласно JavaScript function not working on Chrome & IE but works on FireFox

+0

Спасибо. Я попробую. – user3533214

Смежные вопросы