Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2013, 12:21
juanvc123
 
Fecha de Ingreso: octubre-2011
Ubicación: Tierra
Mensajes: 64
Antigüedad: 13 años, 1 mes
Puntos: 0
Exclamación problema javascript!

resulta que tengo un codigo que antes de enviar un formulario me valida si existe el campo cedula en la base de datos, esto lo hago por medio de ajax, pero no se como detener el formulario al momento de obtener la respuesta! he intentado de todas las formas que sé y no me resulta!(tambien utilizo jquery):
coloco lo esencial para que vean:
Primero el formulario:
Código:
 <form method="POST" action="upload.php" id="formSub">
      <label for="inputCedID" class="labelcedula">Cedula: </label>
      <input type="text" id="inputCedID" name="inputCed" class="inputtext"><br />
      <input type="submit" value="enviar" class="boton" id="btn">
    </form>
Segundo las validaciones con jquery:
Código:
$(document).ready(function(){
   $("#formSub").submit(function(e) {
      if($("#inputCedID").val().length < 1)
        {
          apprise('Digita la cedula');
          return false;
        }
          else
          {
            ValidarCedula();
          }
        } 
     });
});
Tercero las funciones que validan por medio de ajax la existencia de la cedula:
Código:
function objetoAjax()
{
    var xmlhttp= false;
    try {
       xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    catch (e) {
       try{
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
       } 
       catch (E) {
           xmlhttp = false;
       }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
       xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}
function ValidarCedula()
{
  var ajax;
  var campo = document.getElementById('inputCedID').value;
  var url = "validaCedula.php?var="+campo;
  ajax=objetoAjax();
  ajax.open("GET", url, true);
  ajax.onreadystatechange=function() {
    if (ajax.readyState != 4)
    {}
    else
    {
      switch (ajax.responseText) {
      case "cedulaexiste":
          return true;
          break
      case "cedulanoexiste":
          break
      default:
      }
    }
  }
  ajax.send(null)
}
Cuarto el archivo php que busca en lado del servidor la cedula:
Código:
<?php
//definimos variables para la conexión
$bd_host = "####"; 
$bd_usuario = "###"; 
$bd_password = "####"; 
$bd_base = "####"; 
$con = mysql_connect($bd_host, $bd_usuario, $bd_password); 
mysql_select_db($bd_base, $con); 

	$mensaje = "";
	$cedula = $_GET['var'];
	$consutlaICed = mysql_query("SELECT * from ### where cedula = '####'");
	if ($resultadoID = mysql_fetch_row($consutlaICed)) {
		 $id = trim($resultadoID[0]);
		 $mensaje = "cedulaexiste";
		 echo $mensaje;
		 return $mensaje;
		}
		else{
		 $mensaje = "cedulanoexiste";
		 echo $mensaje;
		 return $mensaje;
		}
?>
el proceso de busqueda de la cedula, está bien , pero no se como hacer para que al momento de no encontrar la cedula me pare el formulario y alerte con un alert de que no existe esa cedula.

Última edición por juanvc123; 25/03/2013 a las 12:24 Razón: presentación!