Foros del Web » Programando para Internet » Jquery »

Comprobación de campos incorrectos

Estas en el tema de Comprobación de campos incorrectos en el foro de Jquery en Foros del Web. *Aclarando que no se si este tema deba ponerse en este foro, sino es correcto, mil disculpas. Ya volví con otra duda más, y lo ...
  #1 (permalink)  
Antiguo 09/10/2015, 16:12
 
Fecha de Ingreso: julio-2015
Ubicación: Distrito Federal
Mensajes: 97
Antigüedad: 9 años, 4 meses
Puntos: 2
Comprobación de campos incorrectos

*Aclarando que no se si este tema deba ponerse en este foro, sino es correcto, mil disculpas.

Ya volví con otra duda más, y lo que sucede ahora es que ando editando algunas cosas de un formulario de registro, anteriormente estaba en una página aparte del inicio o la index que es donde se encuentra el login. Bueno si leyeron mis mensajes anteriores se percatarán de algunos errores que he tenido y ahora vengo con otro. Como el registro tiene un action a un archivo fuera de este, cuando ocurre un error reinicia la página y muestra el error, pero el problema es que se tiene que volver a abrir la ventana del registro para poder visualizar el error, lo cual creo que es molesto para los usuarios.

Busqué un tiempo por internet navegando en distintas webs y al encontrar lo que buscaba intenté adaptarlo a mi contexto, mas no lo pude lograr.

Los errores que tengo son:
- "El código captcha es incorrecto"(tengo un sistema de captcha generado mediante php)
- "El nombre de usuario ya está siendo usado por alguien más"
- "Este correo es incorrecto"
- "Este correo ya está siendo usado por alguien más."

Ahora me gustaría que antes de registrarse se compruebe que no existe ningún error de estos para que se registre correctamente.
Pero que los errores se muestren durante el llenado de los datos, no sé por ejemplo al cambiar de input o al hacer click fuera de ese input.
No se si me entiendan y si me puedan ayudar, se que sonará algo extraño y hasta molesto, pero no entiendo muy bien como relacionar un código con otro y de js pues tampoco, por lo que recurro a su ayuda.
De antemano muchas gracias y espero me hayan entendido, ya que si necesitan algo más pueden postear un mensaje o mandarme por privado un mensaje.
  #2 (permalink)  
Antiguo 09/10/2015, 22:48
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Comprobación de campos incorrectos

Eso lo harías mediante peticiones asíncronas (Ajax) las cuales se ejecutarían cuando ocurran determinados eventos.

Por ejemplo, si quieres que se compruebe el contenido escrito en una caja de texto cuando esta pierda el enfoque, debes de delegarle una función que se ejecutará cuando se produzca el evento blur.

Código Javascript:
Ver original
  1. $("#id del input").on("blur", function(){
  2.     $.ajax({
  3.         url: "ejemplo.php", //El archivo que procesará el dato
  4.         data: {
  5.             foo: $(this).val() //El dato a procesar (llegará como $_GET['foo'])
  6.         },
  7.         type: "get" //El tipo de envío
  8.     }).done(function(respuesta){
  9.         //Aquí haces algo con la respuesta obtenida
  10.     });
  11. });

Lo que hace básicamente ese bloque de código es enviar el dato escrito en la caja hacia el archivo "ejemplo.php" cuando esta pierda el enfoque. En dicho archivo, deberás realizar la validación y devolver una respuesta mediante la cual realizarás las acciones pertinentes.

Partiendo de este ejemplo, puedes hacer lo mismo con los demás elementos.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 10/10/2015, 12:33
 
Fecha de Ingreso: julio-2015
Ubicación: Distrito Federal
Mensajes: 97
Antigüedad: 9 años, 4 meses
Puntos: 2
Respuesta: Comprobación de campos incorrectos

Cita:
Iniciado por Alexis88 Ver Mensaje
Eso lo harías mediante peticiones asíncronas (Ajax) las cuales se ejecutarían cuando ocurran determinados eventos.

Por ejemplo, si quieres que se compruebe el contenido escrito en una caja de texto cuando esta pierda el enfoque, debes de delegarle una función que se ejecutará cuando se produzca el evento blur.

Código Javascript:
Ver original
  1. $("#id del input").on("blur", function(){
  2.     $.ajax({
  3.         url: "ejemplo.php", //El archivo que procesará el dato
  4.         data: {
  5.             foo: $(this).val() //El dato a procesar (llegará como $_GET['foo'])
  6.         },
  7.         type: "get" //El tipo de envío
  8.     }).done(function(respuesta){
  9.         //Aquí haces algo con la respuesta obtenida
  10.     });
  11. });

Lo que hace básicamente ese bloque de código es enviar el dato escrito en la caja hacia el archivo "ejemplo.php" cuando esta pierda el enfoque. En dicho archivo, deberás realizar la validación y devolver una respuesta mediante la cual realizarás las acciones pertinentes.

Partiendo de este ejemplo, puedes hacer lo mismo con los demás elementos.

Un saludo
Gracias por tu respuesta, pero por ejemplo para procesarlo en sql, osea lo que quiero que marque es que en tal caso que un usuario de una db se repita salte el mensaje que diga por ejemplo: el usuario ya está siendo usado.
  #4 (permalink)  
Antiguo 10/10/2015, 14:09
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Comprobación de campos incorrectos

Eso ya lo tienes que hacer en el lado del servidor. Eso corresponde al foro de PHP pues veo que trabajas con ese lenguaje.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 10/10/2015, 15:17
 
Fecha de Ingreso: julio-2015
Ubicación: Distrito Federal
Mensajes: 97
Antigüedad: 9 años, 4 meses
Puntos: 2
Respuesta: Comprobación de campos incorrectos

Cita:
Iniciado por Alexis88 Ver Mensaje
Eso ya lo tienes que hacer en el lado del servidor. Eso corresponde al foro de PHP pues veo que trabajas con ese lenguaje.

Saludos
Hice algunas cosillas y al fin pude comprobar el nombre de usuario, pero quiero comprobar también el correo electrónico sólo que no sé como hacer que los dos funcionen en el mismo archivo, podrías ayudarme?

Mi código js:
Código Javascript:
Ver original
  1. $(document).ready(function() {    
  2.     $('#username').blur(function(){
  3.  
  4.         $('#info').html('<img src="ajax-loader.gif" alt="" />').fadeOut(1000);
  5.  
  6.         var username = $(this).val();        
  7.         var dataString = 'username='+username;
  8.  
  9.         $.ajax({
  10.             type: "POST",
  11.             url: "comprobate.php",
  12.             data: dataString,
  13.             success: function(data) {
  14.                 $('#info').fadeIn(1000).html(data);
  15.             }
  16.         });
  17.     });              
  18. });

y mi código php
Código PHP:
Ver original
  1. <?php
  2. sleep(1);
  3. $link = mysql_connect('localhost', 'root', '12345');
  4. mysql_select_db('testeando',$link);
  5.  
  6. if($_REQUEST) {
  7.     $username = $_REQUEST['username'];
  8.     $query = "SELECT * FROM users WHERE username = '".strtolower($username)."'";
  9.     $results = mysql_query( $query) or die('ok');
  10.  
  11.     if(mysql_num_rows(@$results) > 0)
  12.         echo '<div id="Error">Usuario ya existente</div>';
  13.     else
  14.         echo '<div id="Success">Disponible</div>';
  15. }
  16. ?>
  #6 (permalink)  
Antiguo 10/10/2015, 17:33
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Comprobación de campos incorrectos

Se me ocurre que envíes el nombre del campo a comprobar, de ese modo, la consulta quedaría así:

Código PHP:
Ver original
  1. $query = "SELECT * FROM users WHERE $campo = '$valor'";

Y en el código JavaScript, tendrías que añadir un dato más para enviar, el cual sería el nombre del campo en la tabla de la base de datos. Te sugiero tener la llamada al método $.ajax dentro de una función para que reutilices el código.

NOTA: Cuando utilizas comillas dobles en PHP, los valores de las variables son interpretados, por lo cual ya no es necesario concatenarlos.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:56.