Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2011, 06:27
nemreb
 
Fecha de Ingreso: abril-2011
Mensajes: 4
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Lectura de datos desde GetJSON

Hola compañeros! Tengo un problema con un script jQuery, espero que me puedan ofrecer algo de luz porque estoy muy confuso.

Estoy haciendo un formulario donde se introduce una direccion de email y se comprueba su validez (no sintáctica, sino existencia real) mediante un php (dyn_validate_email.php) que devuelve un JSON de la forma "{'mail':'x'}", donde x puede ser 0 ó 1. Este valor lo consulto con el método getJSON, y dependiendo si es válido o no, cambio una imagen al lado del input (la misma imagen que al pulsar activa el callback).
El caso es que llevo más de un año usando getJSON y nunca me había encontrado con un problema semejante! Puedo ver que por Firebug el script php me devuelve el JSON correctamente, pero el js no hace nada más, es decir, no se me ejecuta el function definido a continuación.
Os indico el código que utilizo:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es" dir="ltr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
    <script type="text/javascript">if(typeof jQuery==='undefined'){document.write(unescape("<scri"+"pt src='../includes/js/jquery-1.5.min.js' type='text/javascript' />"));}</script>
    <script>
    $(document).ready(function(){
        $("#img_email").click( function(){            
        	$.getJSON("../tools/dyn_validate_email.php?mail="+$("#email").val(),function(json){
    			if (json.mail == '1'){
    				imagen_resultado = "thumb";
    			} else {
    				imagen_resultado = "thumb-up";
    			}
    			$(this).attr("src","images/16/"+imagen_resultado+".png");		
    		});
        });
    });
    </script>
</head>
<body>
<form>
<input type="text" id="email" name="email"></input>
<img class="icon" id="img_email" name="img_email" src="images/16/mail-exclamation.png" width="16" height="16" alt="Valida"/>
</form>
</body>
</html> 
He probado a hacer alerts, a dejar el código a su mínima expresión, pero ni así. Lo más curioso es que el formulario tiene otros botones que sí usan getJSON y funcionan sin problemas, pero un copy/paste no me funciona . Seguro que es un error muy evidente, pero no veo.
¿A alguien se le ocurre qué puede ser? Gracias!!