Foros del Web » Programando para Internet » Javascript »

Detener el submit de un formulario

Estas en el tema de Detener el submit de un formulario en el foro de Javascript en Foros del Web. Hola, tengo un problema, con un codigo q encontre aqui en FDW, implemente la funcion pasar enter, que me pasa a travez de los textfield ...
  #1 (permalink)  
Antiguo 10/07/2010, 08:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación Detener el submit de un formulario

Hola, tengo un problema, con un codigo q encontre aqui en FDW, implemente la funcion pasar enter, que me pasa a travez de los textfield de mi formulario al presionar enter, esta funcion, va perfecto en IE, pero en firefox al darle enter me hace el submit del form, alguna forma de detener esto?

Gracias.

Última edición por Alex0520; 10/07/2010 a las 08:24 Razón: error en la escritura
  #2 (permalink)  
Antiguo 10/07/2010, 10:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Detener el submit de un formulario

cuando dices pasar el enter supongo que te refieres a ignorar la acción predeterminada para los campos text. el primer problema que tienes es que no nos has mostrado el código o el tema de donde lo obtuvistes. y segundo, lo más probable es que el código esta enfocado con instrucciones para iexplorer.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 12/07/2010, 07:02
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Detener el submit de un formulario

Hola, que pena no postear el codigo...

esta es la funcion pasarenter()

Código Javascript:
Ver original
  1. function pasarEnter(id,event){
  2.     if(window.event){tecla = event.keyCode;}else if(event.which){tecla = event.keyCode;}
  3.     if(tecla=='13'){
  4.        actual=id.substr(id.indexOf("_")+1);
  5.        form = document.getElementById("form1");
  6.         var num=form.elements.length;
  7.         id1=id.split("_",1);
  8.         if(actual=="cliente")
  9.             document.getElementById("nuevo_p").focus();
  10.         else
  11.         if(actual=="orden")
  12.             document.getElementById("nom_vendedor").focus();
  13.         else
  14.         if(id1=="cod")
  15.             document.getElementById("caj_"+actual).focus();
  16.         else
  17.         if(id1=="desc")
  18.             document.getElementById("caj_"+actual).focus();
  19.         else
  20.             if(id1=="caj")
  21.             document.getElementById("und_"+actual).focus();
  22.         else
  23.             if(id1=="und")
  24.             document.getElementById("des_"+actual).focus();
  25.         else
  26.             if(id1=="des")
  27.             document.getElementById("des2_"+actual).focus();
  28.         else
  29.             if(id1=="des2")
  30.             document.getElementById("iva_"+actual).focus();
  31.         else
  32.             if(id1=="iva")
  33.             document.getElementById("nuevo_p").focus();
  34.     }
  35. }

Y aqui es como esta llamada en el form:

Código HTML:
Ver original
  1. Orden de Compra <input type="text" name="num_orden" id="num_orden" onkeypress="pasarEnter(this.id,event);" />
  #4 (permalink)  
Antiguo 12/07/2010, 08:06
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Detener el submit de un formulario

a la varible tecla le estás asignando lo mismo. intentalo con
Cita:
tecla = (document.all) ? event.keyCode : event.which;
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 12/07/2010, 09:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Detener el submit de un formulario

Cita:
Iniciado por IsaBelM Ver Mensaje
a la varible tecla le estás asignando lo mismo. intentalo con
Lo intente asi, pero me sigue haciendo el submit... :(
  #6 (permalink)  
Antiguo 12/07/2010, 12:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Detener el submit de un formulario

la función tiene que devolver un boolean false cuando la variable tecla equivale a trece. o sea, devuelves false despues de haber ubicado el foco en un campo. y en el atributo onkeypress tienes que devolver lo devuelto por la función.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 12/07/2010, 13:34
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Detener el submit de un formulario

Hola, hice lo que me dijiste, pero eso empeoro las cosas porq ahora no m deja escribir, solo m recibe los enters y los tabs...
  #8 (permalink)  
Antiguo 12/07/2010, 13:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Detener el submit de un formulario

seguramente algo hicistes mal. no lo he comprobado pero debería funcionarte así.
Código:
// script;
if(tecla == 13){
...
// al final de este bloque;
return false;
}


// html;
<input ... onkeypress="return pasarEnter(this.id, event);" />
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 12/07/2010, 14:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 15
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Detener el submit de un formulario

Cita:
Iniciado por zerokilled Ver Mensaje
seguramente algo hicistes mal. no lo he comprobado pero debería funcionarte así.
Código:
// script;
if(tecla == 13){
...
// al final de este bloque;
return false;
}


// html;
<input ... onkeypress="return pasarEnter(this.id, event);" />

Funciona de 10, Gracias zerokilled

Etiquetas: detener, submit, formulario
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 19:30.