Отправка формы с помощью jQuery / Ajax работает только через раз
Я пытаюсь отправить форму, которая включает загрузку файла через Ajax / jQuery, обработать форму с помощью PHP-скрипта и вернуть результат в div, в котором изначально находилась форма.
Мой текущий код формы:
<section id="content-right">
<form name="uploader" id="uploader" method="POST" enctype="multipart/form-data">
<input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="10485760" />
<input type="file" name="fileselect" id="fileselect" />
<input type="submit" name="submit" id="submit" value="Upload" />
</form>
</section>
И мой текущий скрипт Ajax / jQuery:
<script>
$(function() {
$('#uploader').submit(function() {
$(this).ajaxSubmit({
type: $(this).attr('method'),
url: 'upload-song.php',
success: function(response) {
$('#content-right').html(response);
}
});
return false;
});
});
Мой PHP-скрипт «upload-song.php» (детали не имеют значения).
У меня также работает YUI.Pjax для обработки обычных навигационных (href) ссылок и загрузки их в # content-right (если пользователь нажимает что-либо, я хочу, чтобы он загружался в # content-right).
С этой настройкой навигация по обычным ссылкам работает отлично, все загружается в # content-right, но загрузчик работает только каждый раз.
Например, загрузчик загрузит файл upload-song.php в # content-right и отлично все обработает, затем, если я уйду со страницы и попытаюсь загрузить другой элемент, он не будет работать, он просто обновит страницу (если я добавлю action = "uploa, d-song.php" в тег формы, он загрузит upload-song.php как полную страницу, а не в # content-right). После обновления страницы я могу загрузить другой элемент, и он будет отлично работать.
Я думаю, что это связано с тем, как я присоединяю свой Ajax-скрипт к отправке формы (потому что, если я обновляю страницу, она отлично работает), но у меня нет большого опыта работы с этими языками, поэтому я не уверен как это исправить.
Кроме того, если я отключаю YUI.Pjax, он исправляет загрузчик, но, очевидно, ломает мои ссылки, поэтому я ищу обходной путь.
Есть идеи?