Traslado el tema a Frameworks JS porque hice pruebas en PHP para detectar el problema y me dieron resultados raros. Si yo imprimo algo en la primera linea, pues incluso así me aparece todo ese codigo css incrustado antes de lo que yo imprimo! Hago die("prueba"); y me aparece al final de todo el css.
Mi conclusion es que es el plugin de ajax forms el que esta dando error. Pero hasta ahora andaba bien!!! Y de repente no anda ni en local ni en remoto :/
Aclaro que ese codigo no me interfiere todas las respuestas ajax. Solo las que tienen que ver con un script de registro de usuarios aparentemente. Ademas, que el mensaje de lado servidor es un ok, y que se evalua success.
Va algo de codigo:
Código Javascript
:
Ver original<script type="text/javascript">
jQuery(document).ready(function($) {
controlador = 'app/controlador_frontal.php';
/* paises */
$("form select[name=pais]").change(function(){
seleccionado = $(this).children("option:selected").val();
$("form select[name=region]").load(controlador, {id_pais:seleccionado});
})
});
jQuery(document).ready(function($) {
jQuery.validator.addMethod("seleccionado", function(value, element) {
return (value == 0) ? false : true;
}, "Debes elegir tu pais");
// validacion
$(".form form").validate({
rules: {
cclave: { equalTo: "#clave" },
pais:{ seleccionado: true },
region:{ seleccionado: true },
dia:{ digits: true },
anio:{
required: true,
digits: true,
minlength: 4,
min: 1900
}
},
messages: {
nombre: "Debes escribir tu nombre",
apellido: "Debes escribir tu apellido",
//nick: "Debes escribir tu apodo",
clave: "Elige tu contraseña",
cclave: "Escribe la misma contraseña",
email: "verifica tu email",
pais: "elige tu pais",
region: "elige tu region",
dia: "escribe el dia",
//anio: "escribe un año de 4 cifras",
nacimiento: "escribe tu fecha de nacimiento",
foto: "sube una foto",
captcha: "escribe el codigo captcha"
}
});
// formularios ajax
var options = {
dataType: 'html',
success: enviar // tras validacion de foto.
};
$(".form form").ajaxForm(options); // inicializacion
function enviar(texto, status, xhr, $form){
texto = texto.replace(/<\/?[^>]+>/gi, ''); // quitamos html que impone ajaxForm
texto = texto.replace(/^(\s|\ )*|(\s|\ )*$/g,""); // quitamos espacios en blanco (trim)
if (texto == "redirigir")
window.location='<?php echo HTTP_RAIZ."galeria"; ?>';
else
{
$("span.captcha img").attr("src", "<?php echo HTTP_APP; ?>utiles/captcha/captcha.php"+ '?' + (new Date()).getTime());
$(".mensajeError").css("display", "block").text(texto);
}
}
})
</script>