Enviar un formulario con jQuery / Ajax solo funciona cada dos veces

Estoy intentando enviar un formulario que incluye una carga de archivos a través de Ajax / jQuery, procesar el formulario a través de un script PHP y devolver el resultado en el div en el que residía originalmente el formulario.

Mi código de formulario actual es:

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

Y mi script Ajax / jQuery actual es:

<script> 
$(function() {
$('#uploader').submit(function() { 
        $(this).ajaxSubmit({
            type: $(this).attr('method'),
            url: 'upload-song.php',
            success: function(response) {
                $('#content-right').html(response);
                }
            }); 
    return false; 
    });
});

Mi script PHP es "upload-song.php" (los detalles no importan).

También tengo YUI.Pjax ejecutándose para manejar los enlaces de navegación normal (a href) y cargarlos en # content-right (si un usuario hace clic en algo, quiero que se cargue en # content-right).

Con esta configuración, la navegación a través de los enlaces normales funciona perfectamente, todo se carga en # content-right, pero el cargador solo funciona cada dos veces.

Por ejemplo, el cargador cargará upload-song.php en # content-right y procesará todo a la perfección, luego, si me alejo de la página e intento cargar otro elemento, no funcionará, solo actualizará la página (Si pongo action = "upload-song.php" en la etiqueta de formulario, cargará upload-song.php como una página completa, no en # content-right). Después de actualizar la página, puedo cargar otro elemento y funcionará perfectamente.

Creo que tiene que ver con la forma en que adjunto mi script Ajax al formulario enviado (porque si actualizo la página funciona perfectamente), pero no tengo mucha experiencia con estos idiomas, así que no estoy seguro. Como arreglarlo.

Además, si deshabilito YUI.Pjax corrige el cargador pero obviamente rompe mis enlaces, así que estoy buscando un lugar para solucionarlo.

¿Algunas ideas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta