Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Validación de campo de formulario 'on the fly'

Estas en el tema de Validación de campo de formulario 'on the fly' en el foro de Javascript en Foros del Web. Buenas! Esta pregunta seguro que se ha hecho. De cualquier modo estuve googleando y las respuestas no son las que esperaba para mi caso particular. ...
  #1 (permalink)  
Antiguo 21/06/2013, 21:10
 
Fecha de Ingreso: mayo-2013
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 0
Validación de campo de formulario 'on the fly'

Buenas!

Esta pregunta seguro que se ha hecho. De cualquier modo estuve googleando y las respuestas no son las que esperaba para mi caso particular.

Necesito validar durante la carga si un valor cargado en un campo existe o no. De no existir puede ser que haya sido mal cargado (volver al campo y cargarlo bien) o ser un nuevo valor (ingresarlo a la tabla).

He aquí el fragmento del código a validar:

En un formulario HTML

Código HTML:
 <label for="encuestador">Encuestador</label>
    <input name="encuestador" type="text" id="encuestador" onFocus="vaciar(this)" onKeyPress="return isNumberKey(this);" value="DNI" size="10" maxlength="8"> 
Código:
function valida_datos(){
    //valido el DNI
	encuestador = document.encuesta1.encuestador.value
	if (encuestador=="DNI" || encuestador==""){
		alert("Debe completar el DNI")
		document.encuesta1.encuestador.focus()
		return 0;
	}
El valor de encuestador es el que deseo validar contra la base de datos.

Normalmente si existiera sucedería lo siguiente:

Código PHP:
// Insercion de datos

$query1 mysql_query ("SELECT idencuestadores $IDENC FROM `enmodo`.`encuestadores` WHERE DNI = '$_POST[encuestador]'",$link);

$idenc mysql_result($query100);

mysql_query ("INSERT INTO `enmodo`.`hogares` (`PARTIDO`, `FRACCION`, `RADIO`, `HOGAR`, `LOCALIDA`, `encuestadores_idencuestadores`) VALUES ('$_POST[partido]', '$_POST[fraccion]', '$_POST[radio]', '$_POST[hogar]', '$_POST[hBarrio]', $idenc)",$link); 
Pero esto está en un formulario aparte, una vez que se validaron TODOS los campos y ya hice el submit.

¿Cómo hago para que la validación se de ANTES del submit, que envía a otro formulario? Porque si es un error de tipeo, como dije, tendría que retipearlo en el formulario original. Y si está bien y es nuevo, tendría que aceptarlo y grabarlo como un nuevo registro, puede que luego del submit (con alguna variable POST hidden que indique que va un dato nuevo de encuestador, se me ocurre...).

Si no fui claro por favor me avisan, en todo caso en lugar de pegar pedazos de código pongo los dos formularios (aunque me pareció más confuso hacerlo de ese modo).

Desde ya muchas gracias por la colaboración!

Un abrazo,

Alejandro
  #2 (permalink)  
Antiguo 22/06/2013, 01:07
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Validación de campo de formulario 'on the fly'

De cualquier modo estuve googleando y las respuestas no son las que esperaba para mi caso particular.:

https://www.google.de/search?q=valid...hrome&ie=UTF-8
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 22/06/2013, 08:37
 
Fecha de Ingreso: mayo-2013
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Validación de campo de formulario 'on the fly'

Muchas gracias repara2, pero no manejo Ajax.

¿Alguna otra opción que se les ocurra?

Muchas gracias!!

Saludos,

Ale
  #4 (permalink)  
Antiguo 22/06/2013, 10:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Validación de campo de formulario 'on the fly'

¿Desde PHP?
No. No al menos para lo que quieres hacer.
Para hacer cosas como validaciones "on-the-fly", precisamente se usa Ajax, al menos en tu caso, que no es un lenguaje sino una técnica de desarrollo para desarrollar aplicaciones interactivas, que es precisamente lo que estás buscando.
PHP se ejecuta en servidor, pero para que llegue a ejecutarse la etapa de formularios ya ha terminado.
Javascript, por su lado, no opera en el servidor, y por ende no puede hacer consultas por sí mismo. No tiene recursos para ello.
Ninguna de las dos cosas por separado puede solucionarte nada, pero juntas... juntas es otra historia.

TE convendría al menos leerlo en Wikipedia (Wiki::Ajax, y verás que en realidad no es tan difícil ni misterioso. Y que es una muy buena solución para tu necesidad.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 22/06/2013, 11:02
 
Fecha de Ingreso: mayo-2013
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Validación de campo de formulario 'on the fly'

Bien, no es la primera vez que me hablan de Ajax, pero lo que justamente no tengo ahora es tiempo para aprenderlo.

De todos modos seguiré las indicaciones que ambos me han dado y veré qué hago, a menos que lo resuelva más tarde, cuando el formulario ya ha sido enviado, cosa que no me gusta.

¿Existe alguna forma de usar Ajax invocando bibliotecas? Me pareció ver algo así mientras buscaba. ¿Es posible? Porque así podría tomar piezas de código que esté ya hecho en la web y aplicarlas a la necesidad puntua (y de paso aprendo algo,..)

Nuevamente muchas gracias por los aportes y la paciencia!

Saludos,

Ale
  #6 (permalink)  
Antiguo 22/06/2013, 11:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Validación de campo de formulario 'on the fly'

Cita:
¿Existe alguna forma de usar Ajax invocando bibliotecas?
No intentes parches. después perderás más tiempo reparando las metidas de pata, que lo que tardarías en aprender a usar la tecnología.
Haz las cosas bien desde el inicio.

LibrosWeb: Introducción a AJAX
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 22/06/2013, 14:02
 
Fecha de Ingreso: mayo-2013
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Validación de campo de formulario 'on the fly'

Por supuesto que los parches no siempre terminan bien. Lo que necesito es tiempo para estudiar AJAX y eso es lo que justamente no tengo.

Necesitaba salir del paso con alguna solución del tipo "enlatada", pero evidentemente no la hay.

Bueno, veré cómo me las arreglo.

Muchas gracias por los aportes, y no bien pueda comenzaré a estudiar AJAX.

Saludos,

Alejandro

Etiquetas: campo, formulario, html, mysql, php, select, tabla
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 13:35.