O envio de um formulário com jQuery / Ajax funciona apenas a qualquer outra hora

Estou tentando enviar um formulário que inclui um upload de arquivo via Ajax / jQuery, processar o formulário por meio de um script PHP e retornar o resultado na div em que o formulário residia originalmente.

Meu código de formulário atual é:

<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>

E meu atual script 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; 
    });
});

Meu script PHP é "upload-song.php" (os detalhes não importam).

Eu também tenho YUI.Pjax em execução para lidar com links de navegação normal (a href) e carrego aqueles em # content-right (se um usuário clicar em qualquer coisa, eu quero que ele carregue em # content-right).

Com essa configuração, navegar pelos links normais funciona perfeitamente, tudo é carregado em # content-right, mas o uploader só funciona em qualquer outro momento.

Por exemplo, o remetente carregará o arquivo upload-song.php em # content-right e processará tudo perfeitamente, então se eu sair da página e tentar carregar outro item, não vai funcionar, apenas atualizará a página (Se eu colocar action = "upload-song.php" na tag de formulário, ele carregará upload-song.php como uma página inteira, não em # content-right). Depois que ele atualizar a página, posso fazer upload de outro item e ele funcionará perfeitamente.

Eu acho que tem a ver com como eu estou anexando o meu script Ajax ao formulário de envio (porque se eu atualizar a página funciona perfeitamente), mas eu não tenho muita experiência com esses idiomas, então eu não tenho certeza como corrigi-lo.

Além disso, se eu desabilitar o YUI.Pjax, ele corrige o uploader, mas obviamente quebra meus links, então estou procurando um trabalho.

Alguma ideia?

questionAnswers(1)

yourAnswerToTheQuestion