Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2012, 12:06
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
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.