Foros del Web » Programando para Internet » Javascript »

volver a poner el cursor en un input despues de apretar enter

Estas en el tema de volver a poner el cursor en un input despues de apretar enter en el foro de Javascript en Foros del Web. Hola como están Tengo un formulario que luego de apretar Enter se borra lo escrito y aparece un texto por defecto..... Lo que quiero hacer ...
  #1 (permalink)  
Antiguo 13/10/2012, 23:49
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 7 meses
Puntos: 1
volver a poner el cursor en un input despues de apretar enter

Hola como están

Tengo un formulario que luego de apretar Enter se borra lo escrito y aparece un texto por defecto..... Lo que quiero hacer es que después de apretar Enter ya no aparezca el texto por defecto pero si quede puesto el cursor en la caja de texto para volver a escribir y así en adelante todas las veces que se pulse Enter

Ojala me puedan ayudar, saludos y gracias.
  #2 (permalink)  
Antiguo 14/10/2012, 09:45
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: volver a poner el cursor en un input despues de apretar enter

Aclaremos primero lo que pasa en realidad:

Cuando pulsa ENTER el formulario se envía, por lo tanto se envía su data a lo que establece en action (de omitirlo por defecto lo envía a la misma pagina, por lo cual recarga)

¿Donde establece ese valor por defecto?: sí es en el value de cada input, o lo elimina, o desde el servidor puede prepararlo (embebiendo)

Para volver a enfocar solo necesita desde el evento onload del body, aplicar el método focus() al input en cuestión:

Código Javascript:
Ver original
  1. <body onload="document.getElementById('id_del_input').focus();">
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 14/10/2012, 23:11
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: volver a poner el cursor en un input despues de apretar enter

muchas gracias... el codigo me ha servido para orientarme ya que finalmente use algo como esto...

en el body puse la opción que me ofreció y el cursor queda en el campo seleccionado... y en el campo pongo onKeyPress="keyarticulo(event, document.venta.agrega);javascript:this.value=''"

lo que pasa es que el campo me sirve para buscar datos en la base de datos, luego de seleccionado lo envío con la la primera parte del onkey, esta me llama una función que me detecta el enter y al mismo tiempo con la segunda parte me limpia el campo, y el cursor vuelve a quedar en el campo...

la verdad es que no se si está correcto usarlo de esa forma pero hasta el momento me ha funcionado con varios navegadores sin problema..

saludos y gracias.
  #4 (permalink)  
Antiguo 14/10/2012, 23:25
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: volver a poner el cursor en un input despues de apretar enter

disculpen,

me di cuenta que no solo funciona con el enter ya que la parte para borrar la dejé fuera de la función aunque dentro del onkeypress osea que me hace la accion con cualquier tecla...

por lo mismo de no saber limpiear javascript:codigo.value='' en esta función??

function keyarticulo(oEvento, oFormulario){
var iAscii;

if (oEvento.keyCode)
iAscii = oEvento.keyCode;
else if (oEvento.which)
iAscii = oEvento.which;
else
return false;

if (iAscii == 13)
{
oFormulario.click();
}

return false;
}

muchas gracias!!

Última edición por juancenter; 15/10/2012 a las 00:10
  #5 (permalink)  
Antiguo 15/10/2012, 09:42
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: volver a poner el cursor en un input despues de apretar enter

recomendaciones:

use las colecciones para acceder a los elementos de un form, no hace falta el prefijo javascript: si está en un atributo de evento, eso es para el href por ejemplo.

onKeyPress="keyarticulo(event, document.forms['venta'].elements['agrega']);this.value='';"

Recomiendo usar el highlight del foro para mostrar código:
Código Javascript:
Ver original
  1. function keyarticulo(oEvento, oFormulario){
  2.     var iAscii;
  3.  
  4.     if (oEvento.keyCode)
  5.         iAscii = oEvento.keyCode;
  6.     else if (oEvento.which)
  7.         iAscii = oEvento.which;
  8.     else
  9.         return false;
  10.  
  11.     if (iAscii == 13)
  12.     {
  13.         return true; //creo que es más que necesario si la función que envía se establece en el onsubmit de su FORM padre
  14.         //oFormulario.click();
  15.     }
  16.  
  17.     return false;
  18. }

NOTA: lo que se supone que hace el botón agrega en onclick debería estar en el onsubmit del formulario que contiene el buscador, y que agrega sea un input submit, o que llame al document.forms['venta'].submit(); así no es necesario pasar el form como parámetro (oFormulario)
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 15/10/2012, 18:55
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: volver a poner el cursor en un input despues de apretar enter

Muchas gracias, bueno, lo hacía asi y no por onsubmit del formulario por que hay varios botones dentro del formulario y este es typo button...

me sirvió mucho lo que me enseñaste, muchas gracias.

Etiquetas: cursor, enter, formulario, input, volver
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 18:36.