Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2009, 13:08
ZequeZ
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años, 10 meses
Puntos: 2
Pregunta ¿Porque esta función solo me funciona 1 vez en IE? xD

Bueno, hice una función para registrar un usuario, pero el problema es que en internet explorer solo funciona 1 vez, es decir, uso la función una vez, y luego se queda en "cargando"...

Es como si la segunda vez nunca tuviera "readyState==4" :S

Código PHP:
function singup()
{
    var 
name=document.getElementById("name").value;
    var 
pass=document.getElementById("pass").value;
    var 
pass2=document.getElementById("pass2").value;
    var 
email=document.getElementById("email").value;
    var 
terms=document.getElementById("terms").value;
    
    var 
auth
    auth 
newAjax();
    
    
auth.open ('GET'"../ajax/ajaxSingup.php?name="+name+"&pass="+pass+"&pass2="+pass2+"&email="+email+"&terms="+termstrue);
    
auth.send (null);
    
auth.onreadystatechange = function()
    {
        if(
auth.readyState==4)
        {
            var 
singupResult auth.responseText.split("%"); //Separa las variables, que vienen separadas con "%" xD;
            // De esta manera, loginResult[0] es si se registró o no, y loginResult[1] es un mensaje de error, en el caso de que halla xD;
            
singupResult[0] = toBool(singupResult[0]); //Lo convierte a booleano, para poder hacer todas las cosas locas de booleanos =D;
            
            
            
if(singupResult[0])
            {
                
message("- "+LANG_NEWUSER_SUCCES+" -"singupResult[1], 2);
                
document.getElementById("submit").disabled=false;
            }
            else
            {
                
message("- "+LANG_ERROR+" -"singupResult[1], 0);
                
document.getElementById("submit").disabled=false;
            }
        }
    }
    
message("- "+LANG_CONSULT+" -"'<img src="../images/loadLogo.gif">'1);
    
document.getElementById("submit").disabled=true;
    
    return 
false;

La función newAjax:

Código PHP:
function newAjax()
{
    var 
pagina_requerida false;
    if (
window.XMLHttpRequest)
    {
        
// Si es Mozilla, Safari etc
        
pagina_requerida = new XMLHttpRequest();
    } else if (
window.ActiveXObject)
    {
        
// pero si es IE
        
try 
        {
            
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (
e)
        {
            
// en caso que sea una versión antigua
            
try
            {
                
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (
e)
            {
            }
        }
    } 
    else
    return 
false;
    
    return 
pagina_requerida;