У меня есть сайт, на котором, когда пользователь нажимает кнопку обновления, я отправляю все значения, которые необходимо обновить, на страницу php, на которой выполняется запрос к базе данных UPDATE. Я использую Ajax для передачи данных на страницу php. Обновление работает в Chrome и Internet Explorer, но не работает в Mozilla. Я запустил firebug и понял, что запрос даже не поступает на сервер, и я не знаю, почему
Вот мой код Ajax
$(function() {
$("#editGameBtn").click(function(){
var gameId = $('#editGameId').val();
var newTime = $('#editTime').val();
var newDate = $('#editDate').val();
var newGround = $('#editGround').val();
var newHomeTeam = $('#editHomeTeam').find(":selected").text();
var newAwayTeam = $('#editAwayTeam').find(":selected").text();
if(gameId === "" || newTime === "" || newDate === "" || newGround === ""|| newHomeTeam === ""|| newAwayTeam === "" )
{
alert("Please Select A game to Edit");
}
else{
$.ajax({
type: "POST",
url: "updateGame.php",
data: { gameId: gameId , newTime: newTime, newDate: newDate, newHomeTeam: newHomeTeam, newAwayTeam: newAwayTeam, newGround: newGround}
}).done(function(msg) {
alert( "Data Saved: " + msg );
});
}
});
});
Выяснил, как исправить это, но не знаю, что это за ошибка и почему решение ее исправляет. Надеюсь, кто-нибудь может объяснить, как внесенные мной изменения исправляют ошибку. В любом случае, так что все, что мне нужно было сделать, это предотвратить дефолт, и все работало нормально.
Вот рабочая версия кода
$(function() {
$("#editGameBtn").click(function(e){
var gameId = $('#editGameId').val();
var newTime = $('#editTime').val();
var newDate = $('#editDate').val();
var newGround = $('#editGround').val();
var newHomeTeam = $('#editHomeTeam').find(":selected").text();
var newAwayTeam = $('#editAwayTeam').find(":selected").text();
e.preventDefault();
if(gameId === "" || newTime === "" || newDate === "" || newGround === ""|| newHomeTeam === ""|| newAwayTeam === "" )
{
alert("Please Select A game to Edit");
}
else{
$.ajax({
type: "POST",
url: "updateGame.php",
data: { gameId: gameId , newTime: newTime, newDate: newDate, newHomeTeam: newHomeTeam, newAwayTeam: newAwayTeam, newGround: newGround}
}).done(function(msg) {
window.location.reload(true);
});
}
});
});
Других решений пока нет …