Foros del Web » Programando para Internet » PHP »

Autocompletar campo de formulario

Estas en el tema de Autocompletar campo de formulario en el foro de PHP en Foros del Web. Hola a tod@s, tengo un formulario con una serie de campos (Nombre, Apellidos, username, password....) de los cuales unos tienen que ser rellenados obligatoriamente y ...
  #1 (permalink)  
Antiguo 09/09/2011, 03:48
 
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 549
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Autocompletar campo de formulario

Hola a tod@s,

tengo un formulario con una serie de campos (Nombre, Apellidos, username, password....) de los cuales unos tienen que ser rellenados obligatoriamente y otros son opcionales.

El campo Nombre es uno de los obligatorios e inicialmente lo programé así:
Código:
<td align="left">Nombre: </td>
<td align="left"><input type="text" name="nombre" size="50" ></td>
Lo que ocurre es que el formulario tiene 10 campos y, claro, por uno que el usuario haya rellenado mal, no voy a obligarle a rellenar otra vez el formulario entero desde el principio.

Lo más eficiente me parece que los campos que ya haya rellenado y los haya rellenado bien (Nombre, País, Teléfono....) aparezcan ya escritos en el formulario a la siguiente ejecución del script.
Para hacer ésto se me ocurrió el siguiente código:
Código:
<td align="left">Nombre: </td>
<td align="left"><input type="text" name="nombre" size="50" value="<?php
if(isset($_POST['enviar']) && $err["nombre"]==0) echo $_POST['nombre']; ?>" ></td>
Pero este código no funciona
Está claro que el problema está en el script PHP que he asignado a la etiqueta value pero no se me ocurre otra forma de hacer ésto y tampoco sé lo que puede estar fallando ($err es un array asociativo y $err["nombre"] vale 1 si el nombre se introdujo mal y 0 en caso contrario)

Muchas gracias de antemano por la ayuda.

Un saludo,
Jose
__________________
Nadie dijo que ésto iba a ser fácil
  #2 (permalink)  
Antiguo 09/09/2011, 07:47
Avatar de tomark4  
Fecha de Ingreso: septiembre-2007
Mensajes: 154
Antigüedad: 16 años, 7 meses
Puntos: 29
Respuesta: Autocompletar campo de formulario

Para hacer eso usa ajax aqui te dejo un ejemplo sencillo. colocas el codigo para el javascript en la cabecera cambias el nombre del formulario por el nombre de tu formulario y a los campos que sean obligatorios le pones "Required" y con eso validas el formulario antes de enviarlo y no se borran los datos

<a href='http://www.miguelmanchego.com/2009/validar-formularios-ajax-jquery/'>validar formulario</a>
  #3 (permalink)  
Antiguo 09/09/2011, 08:01
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Autocompletar campo de formulario

lo mejor es validar con js

function valida_form(){
var nombre = document.getElementById('nombre').value
if(nombre != ""){
document.getElementById('enviar').submit();
}
}
y esto
value="<?php
if(isset($_POST['enviar']) && $err["nombre"]==0) echo $_POST['nombre']; ?>"
yo lo dejaria asi
value="<?php
echo (isset($_POST['enviar']) && $err["nombre"]==0) ? $_POST['nombre']: ''; ?>"
  #4 (permalink)  
Antiguo 02/10/2011, 16:36
 
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 549
Antigüedad: 19 años, 2 meses
Puntos: 0
De acuerdo Solucionado

Gracias tomark4 y Patriarka por vuestras respuestas.

Ya había leido por ahí que la mejor forma de validar un formulario HTML es con javascript pero como éste es un ejercicio teórico, sin ninguna utilidad práctica, prefiero hacerlo todo con PHP y HTML.

Finalmente, investigando por ahí, di con la solución. La pongo a continuación por si alguien tiene este mismo problema en un futuro:

La programación que yo había hecho era correcta. El error venía por el nivel de error que tenía definido (el que venía por defecto) en el Php.ini

Para eliminar el error: Partimos de la base de que la directiva display_errors del Php.ini está a On. Ahora vamos a la directiva error_reporting y editamos esa línea. Yo he puesto E_ALL & ~E_NOTICE y problema resuelto ;)

Espero que esta explicación sea útil en el futuro.

Saludos,
Jose
__________________
Nadie dijo que ésto iba a ser fácil

Etiquetas: formulario, usuarios, campos, autocompletado
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 05:49.