Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/05/2012, 11:21
vani18
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 13 años, 11 meses
Puntos: 5
web en wamp funciona ok. en host mal

hola miren tengo un codigo que tiene un formulario ,
tiene un input text... que por rara ocasion le hice que funciones dos eventos BLUR Y ONBLUR..

PERO FUNCIONA:.probando la web desde mi wamp, pero en 000webhost la parte del ajax no lo detecta, no ejecuta nose.. no es un problema de dom o no se que... la funcion ajax. es donde marque mas abajo que es la mas importante

EL eVENTO:

BLUR: toma el valor. por medio de ajax. verifica si esta disponible. el usuario en la base de datos. y devuelve un texto , que en medio del ajax,

si el texto devuelto es "usuario disponible" este texto aparece en un div amarillo
si el texto devuelto es "usuario no disponible" este texto aparece en un div rojo y el el texto del input donde se ingreso el usuario se vacia.

ONBLUR: verifica si hay espacios.en blanco. no que este vacio. si no espacios en blanco. de ser asi. coloca el input vacio...

bueno el tema es que en mi web.desde wamp. (servidor local) funciona.

pero cuando lo subi a 000webhost no funciona ...

verifiquen aca...

si quieren...

ropadeliv.net84.net

el codigo es masomenos asi


del formulario...


Código PHP:
<form name="frm" id="frm"  method="post" onsubmit="return validar(this)">
<
fieldset id="form">
<
legend ><class="let_rub2">Registro de usuario</p></legend>
<
ol


    <
li><label>Usuario: </label><input type="text" onBlur="return valida_form(this)" id="usu" name="usu" size="25" /></li><span id="resultados" name="resultados" ></span>

    <
p align="center"><input type="reset" name="limp" value="Limpiar" />
    <
input name="env" type="submit" value="Registrarse" /></p>
      </
fieldset>
</
form


del ajax...




esto hace on ONBLUR
Código PHP:

function LimpiaEspacios(Obj)
{
var 
texto Obj.value;
//limpiamos de espacios en blanco el texto
var texto_limpio texto.replace(/^s+|s+$/g,"");

if (
texto_limpio=="")
{
Obj.value "";
Obj.focus();
return 
true;
}
else
{
return 
false;
}
}

function 
valida_form(elemento)
{
if (
LimpiaEspacios(elemento))
{
document.getElementById("parche").style.display="block";
document.getElementById("parche").style.visibility="visible";
return 
false;
}
else
{
document.getElementById("parche").style.display="hidden";
document.getElementById("parche").style.visibility="hidden";
}

return 
true;


***************************************esto hace por BLUR


esta parte del ajax es la mas importante... .

Código PHP:



function procesarEventos()
{
  var 
resultados document.getElementById("resultados");
  if(
conexion1.readyState == 4)
  {
    
resultados.innerHTML conexion1.responseText;
    if (
conexion1.responseText=='Usuario no disponible')     
{
     
resultados.style.backgroundColor='#f00';
      var 
feo document.getElementById("usu"); 
      
feo.value="";
     }
    else
      
resultados.style.backgroundColor='#ff0';

  } 
  else 
  {
    
resultados.innerHTML 'Procesando...';
  }




por las dudas les dejo el codigo completol.




Código PHP:


addEvent
(window1,'load',inicializarEventos,false);


function 
inicializarEventos()
{
  var 
ref=document.getElementById('usu');
  
addEvent(ref,'blur',enviarNombre,false);
  
    
  }



var 
conexion1;
function 
enviarNombre() 
{



  
conexion1=crearXMLHttpRequest();
  
conexion1.onreadystatechange procesarEventos;
  
conexion1.open('POST','verificarnombre.php'true);
  
conexion1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  
conexion1.send(retornarDatos());  
}

function 
retornarDatos()
{
  var 
cad='';
  var 
nom=document.getElementById('usu').value;
  
cad='usu='+encodeURIComponent(nom);
  return 
cad;
}


function 
procesarEventos()
{
  var 
resultados document.getElementById("resultados");
  if(
conexion1.readyState == 4)
  {
    
resultados.innerHTML conexion1.responseText;
    if (
conexion1.responseText=='Nombre no disponible')
      {
      
resultados.style.backgroundColor='#f00';
document.getElementById("usu").value="";
      }
    else
      
resultados.style.backgroundColor='#ff0';

  } 
  else 
  {
    
resultados.innerHTML 'Procesando...';
  }
}


//***************************************
//Funciones comunes a todos los problemas
//***************************************

function addEvent(elemento,nomevento,funcion,captura)
{
  if (
elemento.attachEvent)
  {
    
elemento.attachEvent('on'+nomevento,funcion);
    return 
true;
  }
  else  
    if (
elemento.addEventListener)
    {
      
elemento.addEventListener(nomevento,funcion,captura);
      return 
true;
    }
    else
      return 
false;
}

function 
crearXMLHttpRequest() 
{
  var 
xmlHttp=null;
  if (
window.ActiveXObject
    
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  else 
    if (
window.XMLHttpRequest
      
xmlHttp = new XMLHttpRequest();
  return 
xmlHttp;
}



var 
conexion1;
function 
enviarNombre() 
{
  
conexion1=crearXMLHttpRequest();
  
conexion1.onreadystatechange procesarEventos;
  
conexion1.open('POST','verificarnombre.php'true);
  
conexion1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  
conexion1.send(retornarDatos());  
}

function 
retornarDatos()
{
  var 
cad='';
  var 
nom=document.getElementById('usu').value;
  
cad='usu='+encodeURIComponent(nom);
  return 
cad;
}


function 
procesarEventos()
{
  var 
resultados document.getElementById("resultados");
  if(
conexion1.readyState == 4)
  {
    
resultados.innerHTML conexion1.responseText;
    if (
conexion1.responseText=='Usuario no disponible')     
{
     
resultados.style.backgroundColor='#f00';
      var 
feo document.getElementById("usu"); 
      
feo.value="";
     }
    else
      
resultados.style.backgroundColor='#ff0';

  } 
  else 
  {
    
resultados.innerHTML 'Procesando...';
  }
}



//***************************************
//Funciones comunes a todos los problemas
//***************************************
function addEvent(elemento,nomevento,funcion,captura)
{
  if (
elemento.attachEvent)
  {
    
elemento.attachEvent('on'+nomevento,funcion);
    return 
true;
  }
  else  
    if (
elemento.addEventListener)
    {
      
elemento.addEventListener(nomevento,funcion,captura);
      return 
true;
    }
    else
      return 
false;
}

function 
crearXMLHttpRequest() 
{
  var 
xmlHttp=null;
  if (
window.ActiveXObject
    
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  else 
    if (
window.XMLHttpRequest
      
xmlHttp = new XMLHttpRequest();
  return 
xmlHttp;


el php que hace la consulta mysql y devuelve un valor...



Código PHP:


<?php
header
('Content-Type: text/html; charset=ISO-8859-1');

$conexion=mysql_connect("localhost","root","pass") or
    die(
"Problemas en la conexion");
mysql_select_db("bbdd",$conexion) or
    die(
"Problemas en la selección de la base de datos");
$registro=mysql_query("select * from usuarios where usuario='$_REQUEST[usu]'",$conexion) or
  die(
"Error:".mysql_error());
 if (
mysql_fetch_array($registro))
   echo 
'Usuario no disponible';
  else
   echo 
'Usuario disponible';
mysql_close($conexion);
?>



la conexion en la web, 000webhost, muestra si es usuario disponible o no ,,, pero no me aparece de color naranaja ni rojo ni tampoco me vacia el input , en el caso de ser usuario no disponible. como sucede cuando pruebo mi web desde mi wamp.. servidor local...

bueno gracias ...

Última edición por vani18; 10/05/2012 a las 11:28