Foros del Web » Programando para Internet » Javascript »

pasar foco con enter de un textfield a un boton

Estas en el tema de pasar foco con enter de un textfield a un boton en el foro de Javascript en Foros del Web. hola, colegas quiciera saber si existe alguna manera de hacer lo siguiente: tengo un input text el cual cuando presiono la tecla enter me pasa ...
  #1 (permalink)  
Antiguo 14/12/2011, 15:32
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 14 años, 4 meses
Puntos: 1
pasar foco con enter de un textfield a un boton

hola, colegas quiciera saber si existe alguna manera de hacer lo siguiente:

tengo un input text el cual cuando presiono la tecla enter me pasa el foco para un boton, pero cuando pone el foco sobre el boton ya este me a realizado un submit, ocacionandome una inserccion de un registro en una bd, y cuando doy enter en el boton vuelve y me hace ese submit, que debo hacer para que cuando pase del input text al boton solo pase el foco sin hacer submit, que cuando llegue al boton si lo hago...

les agradesco su ayuda que estoy que me pego un tiro con esto...
ahh este es el codigo:
Código Javascript:
Ver original
  1. function A(e,t)
  2. {
  3. var k=null;
  4. (e.keyCode) ? k=e.keyCode : k=e.which;
  5. if(k==13) (!t) ? B() : t.focus();
  6. }
  7. function B()
  8. {
  9. var a = document.forms[0].submit();
  10. alert (a);
  11. return true;
  12. }

Código HTML:
Ver original
  1. <input name="conductor" type="text" id="conductor" onblur="validar_campo('validar_conductor.php', 'conductor', 'nplaca', 'ncargue', 'error_coducto','error_c')" onKeyDown="A(event,this.form.j)" value="<?=$_GET[nced]?>" />
  2.           <input type="hidden" name="error_c" id="error_c" />
  3.  
  4. <button type="button" id="j" onKeyDown="A(event,add_services(form.conductor.value));">
  5.                     <img src="images/add-icon.png" border="0"></button>
  #2 (permalink)  
Antiguo 14/12/2011, 16:56
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: pasar foco con enter de un textfield a un boton

Eso es por que el enter se interpreta como el envío de formulario. Si detectas que la tecla presionada es un enter, sólo te falta cancelar el submit:
if(k==13){ (!t) ? B() : t.focus();return false;}
  #3 (permalink)  
Antiguo 14/12/2011, 16:58
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: pasar foco con enter de un textfield a un boton

gracias ocp001a, voy a porbar y te aviso
  #4 (permalink)  
Antiguo 14/12/2011, 17:06
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: pasar foco con enter de un textfield a un boton

ok ahora, en ie, me esta diciendo que tengo este error que sera??

Mensaje: El objeto no acepta la propiedad o el método 'submit'
Línea: 168
Carácter: 1
Código: 0
URI: http://estadistica.merco.com.co/pos_...89&ncargue=222
  #5 (permalink)  
Antiguo 14/12/2011, 17:39
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: pasar foco con enter de un textfield a un boton

pues sin saber todo tu código es difícil decir. Te recomiendo utilizar firefox con el addon firebug, el cual te puede decir más claramente cuando tengas un error de JS
  #6 (permalink)  
Antiguo 15/12/2011, 06:58
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: pasar foco con enter de un textfield a un boton

gracias por tu colaboracion...
  #7 (permalink)  
Antiguo 15/12/2011, 07:42
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: pasar foco con enter de un textfield a un boton

si pueden porfa ayudenme aqui coloco todo el js que uso
Código Javascript:
Ver original
  1. function add_services(){
  2. if(document.form1.conductor.value==''){
  3.         alert('Por favor Digite un conductor');
  4.     }else{
  5.         document.form1.submit();
  6.     }
  7. }
  8.  
  9. function MM_openBrWindow(theURL,winName,features){
  10.     window.open(theURL,winName,features);
  11. }
  12.  
  13. function A(e,t)
  14. {
  15. var k=null;
  16. (e.keyCode) ? k=e.keyCode : k=e.which;
  17. if(k==13) (!t) ? B() : t.focus(); return false;
  18. }
  19. function B()
  20. {
  21. document.form1[0].submit();
  22. return true;
  23. }
  #8 (permalink)  
Antiguo 15/12/2011, 07:44
Avatar de ronnyra  
Fecha de Ingreso: diciembre-2009
Mensajes: 173
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: pasar foco con enter de un textfield a un boton

probe con el firebug y me tiro la siguiente alerta de js
El uso de getAttributeNodeNS() está desaprobado. Use en su lugar getAttributeNS().

Etiquetas: enter, foco, input, textfield, 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 11:33.