Извинения за общий заголовок.
У меня есть два файла jQuery, один обрабатывает отправку формы и один обрабатывает гиперссылки на страницу.
Отправка формы проверяет, что записи формы не являются пустыми, еслиэто - он информирует пользователя и отобразит сообщение об ошибке, когда форма заполнена, данные формы передаются в файл обработки.
Гиперссылки загружают новые данные страницы в div, эти новые данные страницычасто включает формы, обрабатываемые файлом обработки.
Я не знаю почему, но ~ 60% времени отправка формы будет «обновляться» при нажатии и загружать главную страницу индекса ИЛИ страницу, которую последний раз посещали,Это кажется совершенно случайным.
Я не понимаю, почему это происходит, и если кто-то может показать мне, я был бы очень признателен.
Код представления формы:
$(document).ready(function(){
$('.ajax_form').submit(function() {
// check for empty inputs
var errors = 0;
$(".ajax_form :input").map(function(){
if(!$(this).val()) {
errors++;
}
});
// if empty inputs inform user
if(errors > 0){
$('#results').text("All fields are required");
return false;
}
// hide form and show loader
$(".ajax_form").slideUp("normal");
$('#results').html('<span id="load">Loading..</span>');
// post data to processing file
$.post(
'processing.php',
$(this).serialize(),
function(data){
$("#results").slideDown("normal");
$("#results").html(data)
}
);
return false;
});
});
Навигационный код:
$(document).ready(function(){
// if hash is already set, load linked data
var hash = window.location.hash.substr(1);
$('#nav li a').each(function(){
if(hash == $(this).attr('href')){
var toLoad = hash + '.php';
$('#content').load(toLoad)
}
});
// each menu item on click load linked data
$('#nav li a').click(function(){
var toLoad = $(this).attr('href') + '.php';
window.location.hash = $(this).attr('href');
$('#content').prepend('<span id="load">Loading..</span>');
$('#content').hide();
$('#content').load(toLoad);
$('#content').slideDown('normal');
return false;
});
});