Foros del Web » Programando para Internet » PHP »

Pregunta sobre envio de formulario con 'Enter'

Estas en el tema de Pregunta sobre envio de formulario con 'Enter' en el foro de PHP en Foros del Web. Tengo un formulario en el archivo Buscar.php: Código HTML: <form name='buscador' action=<? $_SERVER['PHP_SELF'] ?> method='POST'> con varios input de tipo texto y el botón para ...
  #1 (permalink)  
Antiguo 23/02/2006, 20:06
 
Fecha de Ingreso: enero-2006
Mensajes: 18
Antigüedad: 11 años, 10 meses
Puntos: 1
Pregunta sobre envio de formulario con 'Enter'

Tengo un formulario en el archivo Buscar.php:
Código HTML:
<form name='buscador' action=<? $_SERVER['PHP_SELF'] ?> method='POST'>
con varios input de tipo texto y el botón para enviar el formulario:
Código HTML:
<input type='submit' name='buscar' value='Buscar'> 
pero cuando voy a procesar el formulario, previo a hacer esto, hago la pregunta:
Código PHP:
if ( isset($_POST['buscar'])) { 
y etcetera.
Mi problema es que cuando estoy en un campo de texto del formulario y le doy al Enter, el formulario se envía, pero el formulario no se procesa porque $_POST['Buscar']
no tiene valor, esto lo comprobé haciendo:
Código PHP:
echo $_POST['buscar']; 
--> no muestra nada
Es decir, se envía el formulario pero el valor de la variable determinada por el botón no está definida.
Obvio, esto no sucede así si uso el mouse y le doy click al botón de Buscar.
Estoy usando IE 6, y quería saber si estoy equivocada al presuponer que un formulario se envía con sólo presionar Enter, o efectivamente se envía pero al recibirlo debo verificar este envío con el valor de otras variables y no la del botón.
En fín, esto lo solucioné cambiando en Buscar.php:
Código PHP:
<form name='buscador' method='post' action='<? $_SERVER['PHP_SELF'?>?enviado=true'>
y previo a procesar el formulario pregunto:
Código PHP:
    if (isset($_GET['enviado']) { ... 
es para salir del problema pero igual quiero saber porque no puedo usar el Enter, que es más cómodo.
Desde ya MUCHISISISIMAS GRACIAS si alguien puede ayudarme
  #2 (permalink)  
Antiguo 24/02/2006, 07:07
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Esto: if ( isset($_POST['buscar'])) se hace para saber que realmente se presione el botón, no para saber si hay submit. Hay submit cada vez que presionas el botón o presionas enter.
Si tu código necesita ejecutarse en ambos casos, no pongas condiciones, simplemente ejecútalo.
  #3 (permalink)  
Antiguo 27/02/2006, 20:34
 
Fecha de Ingreso: enero-2006
Mensajes: 18
Antigüedad: 11 años, 10 meses
Puntos: 1
Ok

Ok, te hago caso, entonces...
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:17.