Foros del Web » Programando para Internet » Javascript » Frameworks JS »

El ENTER del teclado no procesa uno de los formularios

Estas en el tema de El ENTER del teclado no procesa uno de los formularios en el foro de Frameworks JS en Foros del Web. Hola a todos! Tengo un problemón y hace meses que no le encuentro la respuesta. Tengo un proyecto finalizado pero el quisquilloso (rompehuevos, rompepelotas) de ...
  #1 (permalink)  
Antiguo 05/04/2012, 12:06
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
El ENTER del teclado no procesa uno de los formularios

Hola a todos! Tengo un problemón y hace meses que no le encuentro la respuesta. Tengo un proyecto finalizado pero el quisquilloso (rompehuevos, rompepelotas) de mi cliente me dice que al presionar el ENTER DEL TECLADO el buscador de su página NO FUNCIONA en Explorer 8.

Yo le dije que en FF y en IE9 FUNCIONAN perfectos con el ENTER del teclado pero él quiere usar el IE 8 y que FUNCIONE.

El buscador está compuesto por 3 tipos de búsquedas:
- búsqueda por códigos
- búsqueda por palabras claves
- búsqueda por filtros.

Búsqueda por filtros lo descarto porque funciona con el ENTER del teclado en cualquier buscador... así que pasemos a los otros 2.

Búsqueda por palabras claves funciona perfecto con el ENTER del teclado y con el botón ENVIAR del form tanto en IE8, IE9 y en FF.

Búsqueda por códigos funciona perfecto con el ENTER del teclado en IE9 y en FF y con el botón ENVIAR del form. En IE8 el ENTER me devuelve cualquier resultado.

Les paso lo que uso:

buscador.php
Este codigo jquery lo utilicé para que me detecte cual de los campos del buscador se escribió y lo procese.
Código HTML:
<script type="text/javascript" src="jquery-1.2.2.pack.js"></script>

<script LANGUAGE="JavaScript">
$(document).keydown(function(e) {
      if (e.keyCode == 13) {
            //alert("enter");
            $('.form').each(function(i) {
                  if ($(this).find("input").val().length > 0) {
                       $(this).submit();
                  }
            });
      }
});

</script>
<form action="resultcod.php" method="GET" >
  <div id="demo">
     <input name="cod_articulo" type="text" value="Ingresar datos..." onclick="this.value=''" class="buscador-arial11pxNG" size="14" maxlength="40" />
  </div>
  <div style=" width:49px; height:20px; border:0px; padding:0px 0px 0px 6px;"><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="buscarc" name="buscarc" value="buscarc" /></button>
  </div>
</div>
</form>

<form action="resultb.php" method="GET" >
  <div id="demo">
  <input name="txt_criterio" type="text" value="Ingresar datos..." onclick="this.value=''" class="buscador-arial11pxNG" size="14" maxlength="40" />
  </div>
  <div style=" width:49px; height:20px; border:0px; padding:0px 0px 0px 6px;"><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="buscar" /></button>
  </div>
 </div>
</form> 
Y las páginas que procesan los datos recibidos de los furmularios son estas (resumidas por supuesto):

Esta es la que NO PROCESA los datos recibidos al presionar ENTER.
resultcod.php
Código PHP:
if(isset($_GET['buscarc']) && $_GET['buscarc'] == 'buscarc')

$cod_articulo $_GET["cod_articulo"];
{
$sql="SELECT * FROM producto WHERE cod_articulo LIKE '".$cod_articulo."%'" or die(mysql_error());

$result mysql_query($sql$conexion) or die (mysql_error());
.... 
Esta funciona perfecto, con ENTER y con boton Enviar.
resultb.php
Código PHP:
if(isset($_GET['buscar']) && $_GET['buscar'] == '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()); 
Me podrían decir por favor cómo puedo unificar esto de presionar el ENTER del teclado para que procese un formulario pero que FUNCIONE en TODOS LOS NAVEGADORES?

Por favor les pido... me falta solo esto para poder cobrar este trabajo que tanto nos costó.

Muchisimas gracias y saludos.
MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 05/04/2012, 13:57
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: El ENTER del teclado no procesa uno de los formularios

hay una linea que me llama la atencion

$('.form')

ahí haces referencia a algun elemento con class="form" y no veo ninguno con esa clase, será ese el error?
__________________
la la la
  #3 (permalink)  
Antiguo 05/04/2012, 15:34
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: El ENTER del teclado no procesa uno de los formularios

Hola truman_truman:

Ah! No sabía esto y como dices en la página dnd están los formularios no tengo ninguna línea que haga referencia a un class="form". Además este jquery lo había copiado de un ejemplo que encontré.

Entonces que me dices que puedo hacer? Lo saco o le agrego un class="form" a los formularios?

Muchas gracias por responder.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 05/04/2012, 17:53
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: El ENTER del teclado no procesa uno de los formularios

ya que parece que no surge efecto por no haber ninguno con esa class , yo probaría a ponerle la class a los formularios solo para ver que pasa

Lo probé en IE 8 y acá funciona bien
__________________
la la la
  #5 (permalink)  
Antiguo 06/04/2012, 18:18
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: El ENTER del teclado no procesa uno de los formularios

truman: lo que hice fue solo agregar el class al form y quedó de esta manera (a todos los formularios):

<form action="rpauto-resultcod.php" method="GET" class="form" >

Pero no hace nada... sigue igual.

¿Debo crear el class form en mi archivo css? ¿Me podrías mostrar cómo lo armaste ya que me dices que te funcionó?

Muchas gracias.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #6 (permalink)  
Antiguo 06/04/2012, 18:34
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: El ENTER del teclado no procesa uno de los formularios

lo probé tal cual lo posteaste por primera vez, y funcionó sin modificarle nada.

No debes agregarlo al css, ya que jQuery se fija en que elemento tenga esa class.
__________________
la la la
  #7 (permalink)  
Antiguo 06/04/2012, 19:09
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: El ENTER del teclado no procesa uno de los formularios

Esto me está volviendo loco... mira... te voy a pasar algo por privado apra que veas como funciona. Ahí seguramente te darás cuenta cual es el problema.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #8 (permalink)  
Antiguo 06/04/2012, 19:12
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: El ENTER del teclado no procesa uno de los formularios

Cita:
Iniciado por marx-pola Ver Mensaje
Esto me está volviendo loco... mira... te voy a pasar algo por privado apra que veas como funciona. Ahí seguramente te darás cuenta cual es el problema.
Ok dale

...
__________________
la la la
  #9 (permalink)  
Antiguo 06/04/2012, 19:24
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: El ENTER del teclado no procesa uno de los formularios

borrá el codgo de jquery
borralo todo ya que creo que no hace falta

Código Javascript:
Ver original
  1. if (e.keyCode == 13) {
  2.             //alert("enter");
  3.             $('.form').each(function(i) {
  4.                   if ($(this).find("input").val().length > 0) {
  5.                        $(this).submit();
  6.                   }
  7.             });
  8.       }
__________________
la la la
  #10 (permalink)  
Antiguo 07/04/2012, 11:33
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: El ENTER del teclado no procesa uno de los formularios

mmmm... nop. Sigue sin funcionar. Lo estoy probando con el Explorer 9 y funciona. Presiono F12 y lo paso a "Modo de Explorador: IE8" y ahí ya no.

Es increíble... ¿tanto me lo compliqué con esto? :(
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #11 (permalink)  
Antiguo 07/04/2012, 11:39
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: El ENTER del teclado no procesa uno de los formularios

Me agregaste al msn?
__________________
la la la
  #12 (permalink)  
Antiguo 09/04/2012, 15:12
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: El ENTER del teclado no procesa uno de los formularios

Truman: te agregue pero todavia no pude verte conectado.

Me decis ke con las modificaciones ke me comentaste funciono bien? Yo no puedo creer ke a mi no me funcione.

Se lo pase a un amigo ke tmb tiene el IE8 y le paso igual ke a mi. Voy a ver cuando te puedo ubicar.

Muchas gracias por todo tu tiempo.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #13 (permalink)  
Antiguo 09/04/2012, 15:27
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: El ENTER del teclado no procesa uno de los formularios

Yo creo que sacando el codigo que te indiqué antes debería funcionar

PD: Estoy conectado ahora
__________________
la la la

Etiquetas: enter, formulario, mysql, sql, teclado
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 20:05.