Foros del Web » Programando para Internet » Javascript »

Varios formularios enviar con enter solo el completo

Estas en el tema de Varios formularios enviar con enter solo el completo en el foro de Javascript en Foros del Web. Hola a todos! Tengo una página con 3 formularios, los 3 son buscadores, cada uno tiene un solo campo text y cada uno tiene un ...
  #1 (permalink)  
Antiguo 16/11/2011, 16:59
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 20 años, 8 meses
Puntos: 1
Varios formularios enviar con enter solo el completo

Hola a todos! Tengo una página con 3 formularios, los 3 son buscadores, cada uno tiene un solo campo text y cada uno tiene un boton submit:

Código HTML:
<form action="pagina1.php" method="POST" >
  <input name="cod_articulo" type="text" value="Ingresar datos..." onclick="this.value=''" size="14" maxlength="40" />
<button type="submit" style="margin:0; padding:0; border:0;; background-color:transparent; background:url(imagesite/buscar.png); cursor: pointer; width:49px; height:20px;" id="buscar" name="buscar" value=">>" /></button>
</form>

<form action="pagina2.php" method="POST" >
  <input name="cod_articulo" type="text" value="Ingresar datos..." onclick="this.value=''" size="14" maxlength="40" />
<button type="submit" style="margin:0; padding:0; border:0;; background-color:transparent; background:url(imagesite/buscar.png); cursor: pointer; width:49px; height:20px;" id="buscar" name="buscar" value=">>" /></button>
</form>

<form action="pagina3.php" method="POST" >
  <input name="cod_articulo" type="text" value="Ingresar datos..." onclick="this.value=''" size="14" maxlength="40" />
<button type="submit" style="margin:0; padding:0; border:0;; background-color:transparent; background:url(imagesite/buscar.png); cursor: pointer; width:49px; height:20px;" id="buscar" name="buscar" value=">>" /></button>
</form> 
Lo que necesito es que al presionar ENTER se envíe/procese SOLAMENTE el formulario que tenga un dato cargado. Si los campos están vacios, al presionar ENTER no deben hacer nada.
¿Se puede hacer esto? ¿Poner una palabra por ej. en el form 2 y al presionar ENTER que se procese? Así con cualquiera por supuesto.

Desde ya muchas gracias y saludos.

Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 17/11/2011, 07:23
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 11 años, 2 meses
Puntos: 160
Respuesta: Varios formularios enviar con enter solo el completo

Aca te dejo un ejemplo en jQuery, si no te sirve avisame.

Código Javascript:
Ver original
  1. $(document).keydown(function(e) {
  2.       if (e.keyCode == 13) {
  3.             //alert("enter");
  4.             $('.form').each(function(i) {
  5.                   if ($(this).find("input").val().length > 0) {
  6.                        $(this).submit();
  7.                   }
  8.             });
  9.       }
  10. });


Fijate de ponerle a cada tag del form en el html, el class "form", entonces deberian quedar asi:

Código HTML:
Ver original
  1. <form class="form" action="pagina1.php" method="POST" >
  2. <form class="form" action="pagina2.php" method="POST" >
  3. <form class="form" action="pagina3.php" method="POST" >

Avisame cualquier cosa.

Saludos!
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 19/11/2011, 13:58
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: Varios formularios enviar con enter solo el completo

linuxzero: gracias por responder.

En FF funciona PERFECTO pero en IE NO FUNCIONA. En FF al darle ENTER me trae los resultados pero en IE me dice que no encontró resultados.

¿Por qué esta mier... de IE siempre da problemas? ¿Se puede arreglar?

Gracias nuevamente.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 19/11/2011, 14:11
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: Varios formularios enviar con enter solo el completo

Esperen... me corrijo... el primer formulario SI FUNCIONA pero el segundo también, pero NO me devuelve resultados pero si pulso sobre el botón BUSCAR SI me trae resultados.

Código HTML:
<form action="rpauto-resultb.php" method="GET" >
    <input name="txt_criterio" type="text" value="Ingresar datos..." onclick="this.value=''" class="buscador-arial11pxNG" size="14" maxlength="40" />
<button type="submit" style="margin:0; padding:0; border:0;; background-color:transparent; background:url(imagesite/buscar.png); cursor: pointer; width:49px; height:20px;" id="buscar" name="buscar" value=">>" /></button>
</form> 
rpauto-resultb.php
Código PHP:
if(isset($_GET['buscar']) && $_GET['buscar'] == '>>'){ 

$txt_criterio $_GET["txt_criterio"];
$palabrasexplode(" "$txt_criterio);
$buscarimplode("%"$palabras);

  
$sqlBuscar "SELECT * FROM producto WHERE descripcion LIKE '%".$buscar."%' ORDER BY categoria, cod_linea, cod_articulo" or die(mysql_error());

......

¿Por qué en uno funciona y en el otro no? ¿Es xq uno pasa por POST y el otro por GET?
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #5 (permalink)  
Antiguo 19/11/2011, 14:11
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 13 años, 9 meses
Puntos: 1485
Respuesta: Varios formularios enviar con enter solo el completo

buenas,
¿realmente necesitas algo así? una observación, dependiendo el tipo de control, cuando se presiona Enter al éste tener el foco, el formulario automáticamente se envia. al menos así se comportan muchos de los navegadores.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 19/11/2011, 15:13
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: Varios formularios enviar con enter solo el completo

Cita:
Iniciado por zerokilled Ver Mensaje
buenas,
¿realmente necesitas algo así? una observación, dependiendo el tipo de control, cuando se presiona Enter al éste tener el foco, el formulario automáticamente se envia. al menos así se comportan muchos de los navegadores.
zerokilled: yo también pregunté lo mismo y no sabes la bronca que me da esto pero tengo un cliente que es INSOPORTABLE y quiere que esto funcione así.

Pero como comenté anteriormente, lo que me parece MUY RARO es que con el código que me pasó el colega linuxzero funciona, pero el segundo formulario en cuestión cuando presiono ENTER no trae nada pero si presiono el botón del formulario me trae los resultados.

Es como que al presionar ENTER no enviara nada y al presionar el boton SI.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #7 (permalink)  
Antiguo 19/11/2011, 20:20
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 13 años, 9 meses
Puntos: 1485
Respuesta: Varios formularios enviar con enter solo el completo

pues realmente lo de tu cliente es fastidiar la vida de uno porque me parece un sin sentido. normalmente un usuario envia el formulario despues de llenado. lo que significa que seguramente uno de los campos tendrá el foco. sobre lo del segundo formulario no ser capaz de enviar los datos, supongo que lo mismo debe sucederte con el tercero. pues nótese que el script determina cual formulario enviar de acuerdo a si el campo esta vacio. el cual no es el caso ya que inicialmente tiene el texto "Ingresar datos...". debes agregar una comprobación de si el campo contiene un texto distinto.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 16/01/2012, 17:30
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 20 años, 8 meses
Puntos: 1
Respuesta: Varios formularios enviar con enter solo el completo

Gente, perdón que reabra este post pero encontré un problema con el maldito IE8... todo esto que me han explicado aquí, lo probé en IE9 y en FF y funciona a la perfección pero en IE8 NO FUNCIONA... al presionar enter NO DEVUELVE NADA.

Se le puede agregar algo al jquery para que funcione en IE8?

Muchas gracias y disculpen las molestias.

Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.

Etiquetas: completo, enter, formulario, input, php, botones
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:47.