 
			
				15/10/2009, 15:07
			
			
			     |  
      |    |    |    Fecha de Ingreso: octubre-2009  
						Mensajes: 3
					  Antigüedad: 16 años Puntos: 0     |        |  
  |      Respuesta: Como  visualizar un formulario        Pero ahora tengo otro problema este formulario que se visualiza me debe permitir el acceso, lo estoy haciendo con ayax, cuando escribo en la primera casilla de usuario al pasar a la otra casilla me debe decir si el usuario esta registrado en la base de datos pero no me sale esto sino un mensaje de error les dejo el codigo donde sale el erro y el codigo del formulario y tambien si me explican q funcion tiene el span desde ya mucha gracias.     
codigo del formulario:  <div id="bloquear"></div> 
<div id="iniciosesion" class="oculto"> 
<form id="fingreso" name="form1" method="post" action="clases/validar.php?validationType=php">  
  <fieldset>  
      <legend>Control de Acceso</legend> 
      <div class="centrarText"> 
      <img src="imagenes/iniciosecion.gif" width="116" height="105" align="right" /> 
      <table width="220" border="0"> 
          <tr> 
            <td width="69">Usuario </td> 
            <td width="141"> 
            <input type="text" name="txtusuario" id="txtusuario"  
             onblur="validate(this.value, this.id)"     
                 value="<?php echo $_SESSION['values']['txtusuario'] ?>" /> 
        <span id="txtUsernameFailed" 
              class="<?php echo $_SESSION['errors']['txtusuario'] ?>"> 
          Este nombre de usuario no existe, o campo nombre de usuario vacío. 
        </span> 
            </td> 
          </tr> 
          <tr> 
            <td>Contraseña</td> 
            <td> 
            <input type="password" name="txtclave" id="txtclave"              
            onblur="validate(this.value, this.id)"  
               value="<?php echo $_SESSION['values']['txtclave'] ?>" /> 
        <span id="txtNameFailed" 
              class="<?php echo $_SESSION['errors']['txtclave'] ?>"> 
          Por favor escribe tu clave.  
        </span>   
            </td> 
          </tr> 
        </table> 
      </div> 
     <p> 
        <label >        
          <input name="button" type="submit" id="button" value="Ingresar" /> 
        </label> 
      <a id="cerrar" href="#"><img src="imagenes/remove.png" width="32" height="32" align="right" /></a></p> 
  </fieldset>   
</form> 
 </div>     
codigo del motor de ajax lo pondre de rojo en la parte q sale el error:     
// contiene una instancia de XMLHttpRequest 
var xmlHttp = createXmlHttpRequestObject(); 
// contiene la dirección del archivo de lado del servidor  
var serverAddress = "validar.php"; 
// cuando se configura como true, muestra mensajes de error detallados 
var showErrors = true; 
// inicializa la cache para las peticiones de validación  
var cache = new Array();   
// crea una instancia XMLHttpRequest 
function createXmlHttpRequestObject()  
{ 
  // almacenará la referencia al objeto XMLHttpRequest 
  var xmlHttp; 
  // esto debe funcionar para todos los navegadores excepto IE6 y más antiguos 
  try 
  { 
    // intenta crear el objeto XMLHttpRequest 
    xmlHttp = new XMLHttpRequest(); 
  } 
  catch(e) 
  { 
    // asume IE6 o más antiguo 
    var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", 
                                    "MSXML2.XMLHTTP.5.0", 
                                    "MSXML2.XMLHTTP.4.0", 
                                    "MSXML2.XMLHTTP.3.0", 
                                    "MSXML2.XMLHTTP", 
                                    "Microsoft.XMLHTTP"); 
    // prueba cada id hasta que uno funciona 
    for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)  
    { 
      try  
      {  
        // prueba a crear el objeto XMLHttpRequest 
        xmlHttp = new ActiveXObject(XmlHttpVersions[i]); 
      }  
      catch (e) {} // ignora error potencial 
    } 
  } 
  // devuelve el objeto creado o muestra un mensaje de error 
  if (!xmlHttp) 
    displayError("Error al crear el objeto XMLHttpRequest."); 
  else  
    return xmlHttp; 
}   
// función que muestra un mensaje de error 
function displayError($message) 
{ 
  // ignora errores si showErrors es falso 
  if (showErrors) 
  { 
    // devuelve error mostrando Off 
    showErrors = false; 
    // muestra mensaje error   
    alert("Error encontrado: \n" + $message); 
    // reintenta validación después de 10 segundos 
    setTimeout("validate();", 10000); 
  } 
}   
// la función maneja la validación para todos los campos del formulario 
function validate(inputValue, fieldID) 
{ 
  // sólo continúa si xmlHttp no está vacío 
  if (xmlHttp) 
  { 
    // si recibimos parámetros no-null, los añadimos al cache en el 
    // formulario del string de petición a enviar al servidor para validación 
    if (fieldID) 
    { 
      // codifica valores para añadirlos de modo seguro a una petición string HTTP 
      inputValue = encodeURIComponent(inputValue); 
      fieldID = encodeURIComponent(fieldID); 
      // add the values to the queue 
      cache.push("inputValue=" + inputValue + "&fieldID=" + fieldID); 
    } 
    // prueba a conectar al servidor 
    try 
    { 
      // continúa sólo si el objeto MLHttpRequest no está completo 
      // y el cache no está vacío 
      if ((xmlHttp.readyState == 4 || xmlHttp.readyState == 0)  
         && cache.length > 0) 
      { 
        // configura un nuevo set de parámetros desde el cache 
        var cacheEntry = cache.shift(); 
        // hace una petición al servidor para validar los datos extraídos 
        xmlHttp.open("POST", serverAddress, true); 
        xmlHttp.setRequestHeader("Content-Type",  
                                 "application/x-www-form-urlencoded"); 
        xmlHttp.onreadystatechange = handleRequestStateChange; 
        xmlHttp.send(cacheEntry); 
      } 
    } 
    catch (e) 
    { 
      // muestra un error cuando falla la conexión al servidor 
      displayError(e.toString());  
    } 
  } 
}   
// función que maneja la respuesta HTTP 
function handleRequestStateChange()  
{ 
  // cuando readyState es 4, leemos la respuesta del servidor 
  if (xmlHttp.readyState == 4)  
  { 
    // continúa sólo si el status HTTP es "OK" 
    if (xmlHttp.status == 200)  
    { 
      try 
      { 
        // lee la respuesta del servidor 
        readResponse(); 
      } 
      catch(e)   
      { 
        // muestra mensaje de error 
        displayError(e.toString());  
      } 
    } 
    else 
    { 
      // muestra mensaje de error 
      displayError(xmlHttp.statusText);  
    } 
  } 
}   
// lee respuesta del servidor  
function readResponse() 
{ 
  // recupera la respuesta del servidor  
  var response = xmlHttp.responseText; 
  // ¿error del servidor? 
  if (response.indexOf("ERRNO") >= 0  
      || response.indexOf("error:") >= 0 
      || response.length == 0) 
    throw(response.length == 0 ? "Server error." : response); 
  // obtiene la respuesta en formato XML(se asume que la respuesta es XML válido) 
  responseXml = xmlHttp.responseXML; 
  // obtiene el document element 
  xmlDoc = responseXml.documentElement; 
  result = xmlDoc.getElementsByTagName("result")[0].firstChild.data; 
  fieldID = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data; 
  // encuentra el elemento HTML que muestra el error 
  message = document.getElementById(fieldID + "Failed"); 
  // muestra el error o bien oculta el error 
  message.className = (result == "0") ? "error" : "hidden"; 
  // llama a validate() de nuevo, en caso que haya valores en la cache 
  setTimeout("validate();", 500); 
}   
// configura el focus en el primer campo del formulario 
function setFocus()     
{ 
  document.getElementById("txtUsername").focus(); 
}           |