Foros del Web » Programando para Internet » Javascript »

saltar de campo formulario con enter

Estas en el tema de saltar de campo formulario con enter en el foro de Javascript en Foros del Web. Hola a todos, estoy haciendo un formulario, y quiero hacergar la funcion, que cuadno se pulse "enter" en lugar de darle subit al furmulario, salte ...
  #1 (permalink)  
Antiguo 02/01/2009, 16:01
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
saltar de campo formulario con enter

Hola a todos, estoy haciendo un formulario, y quiero hacergar la funcion, que cuadno se pulse "enter" en lugar de darle subit al furmulario, salte el cursor al campo siguiente....


como se hace eso??? me pueden orientar con que funcion se hace???
como para saber por donde empezar,.,...



Muchas Gracias De antemano
  #2 (permalink)  
Antiguo 02/01/2009, 18:19
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: saltar de campo formulario con enter

hola, la misma función la tienes con TAB, no necesitas enter

:)
__________________
Aerolíneas Alicia :D
  #3 (permalink)  
Antiguo 02/01/2009, 18:52
 
Fecha de Ingreso: agosto-2008
Ubicación: Buenos Aires
Mensajes: 247
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: saltar de campo formulario con enter

es ya lose, pero estaba tratando de hacer que con enter cambien de campo del formulario.... tendras idea de como se ahce?????

saludos
  #4 (permalink)  
Antiguo 02/01/2009, 19:17
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: saltar de campo formulario con enter

aquí hay un tema
http://www.elcodigo.com/cgi-bin/DBre...lave=82&info=4

creo que lo pondre en las faq's de javascript mejorado

saludos
:)
__________________
Aerolíneas Alicia :D
  #5 (permalink)  
Antiguo 07/01/2009, 12:34
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: saltar de campo formulario con enter

Disculpen amigos, pero la verdad que mi consulta tiene que ver con el tema... a si k preferi no abrir otro post
asi que alli vamos, para mi caso tengo el siguiente codigo que tiene una caja de texto el cual el usuario ingresa la cantidad a solicitar (aki quisiera que tambien para este caso solamente salte las cajas con tan solo dar enter)

Código php:
Ver original
  1. <!-- foreach($carro as $k => $v)
  2.   {
  3. ?>
  4. <tr>
  5.     <td align="center"><?php echo $v['id'] ?></td>
  6.     <td><?php echo $v['producto'] ?></td>
  7.     <td align="center"><input type="text" name="cantidad[]" size="4"></td>    //AQUI EL NAME ES cantidad[]
  8. </tr>
  9.   <?php
  10.   }
  11.   ?> -->

Agradeciendo de antemano sus colaboraciones
  #6 (permalink)  
Antiguo 07/01/2009, 12:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: saltar de campo formulario con enter

Revisa este tema si te sirve:
http://www.forosdelweb.com/f13/no-en...-enter-659820/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 07/01/2009, 13:56
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: saltar de campo formulario con enter

Muy buenas David,
revisando el enlace lo adapte y esto kdó pero no me funciona:
Código php:
Ver original
  1. <!-- <script type="text/javascript">
  2. function tabular(e,obj)
  3. {
  4.     tecla=(document.all) ? e.keyCode : e.which;
  5.     if(tecla!=13) return;
  6.     frm=obj.form;
  7.     for(i=0;i<frm.elements.length;i++)
  8.     if(frm.elements[i]==obj)
  9.     {
  10.         if(i==frm.elements.length-1) i=-1;
  11.         break
  12.     }
  13.     frm.elements[i+1].focus();
  14.     return false;
  15. }
  16. </script>
  17. <body>
  18. <form name="a<?php echo $v['identificador'] ?>" method="post" action="#" id="a<?php echo $v['identificador'] ?>">
  19. <?php
  20. foreach($carro as $k => $v)  
  21. {
  22. ?>
  23. <tr>
  24.     <td align="center"><?php echo $v['id'] ?></td>
  25.     <td><?php echo $v['producto'] ?></td>
  26.     <td align="center"><input type="text" name="cantidad[]" size="4" onKeypress="return acceptNumNumero(this) && tabular(event,this);"></td>  
  27. </tr>
  28. <?php
  29. }
  30. ?>
  31. </form>
  32. -->

Como que en algo estoy equivocado...
  #8 (permalink)  
Antiguo 08/01/2009, 03:52
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: saltar de campo formulario con enter

Hola , este script es parecido al tuyo, pero tiene una modificacion... yo lo encontre asi como te lo paso ...

Código PHP:
<script languaje="Javascript"// este script hace que tabule el enter !!!
function tabular(e,obj
        {
            
tecla=(document.all) ? e.keyCode e.which;
            if(
tecla!=13) return;
            
frm=obj.form;
            for(
i=0;i<frm.elements.length;i++) 
                if(
frm.elements[i]==obj
                { 
                    if (
i==frm.elements.length-1
                        
i=-1;
                    break 
                }
            
/*ACA ESTA EL CAMBIO*/
            
if (frm.elements[i+1].disabled ==true )    
                
tabular(e,frm.elements[i+1]);
            else 
frm.elements[i+1].focus();
            return 
false;
        }  

</script>


<body onLoad="document.getElementById('veni').focus();">

Nombre:
<input type="text" size=25 tabindex=1 name="nombre" id="veni" onkeypress="return tabular(event,this)"><br>
Unidad:
<input type="text" size=8 tabindex=2 name="unidad" onkeypress="return tabular(event,this)"><br> 
La etiqueta veni, hace que el cursor aparezca ahi cuando carga la pagina ...

Fijate esta linea de tu pagina y ponela asi la parte del onkeypress y fijate si te anda...
Código PHP:
<input type="text" name="cantidad[]" size="4" onKeypress="return acceptNumNumero(this); tabular(event,this)"
Saludos, Ricardo !!!
__________________
Mail: [email protected]
  #9 (permalink)  
Antiguo 08/01/2009, 09:38
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: saltar de campo formulario con enter

Hola amigo colote, mira estoy probandolo el codigo pero hasta el momento no funciona para mi caso...
es bueno mencionartelo lo sgte k esta en el foro:
1. Segun el tema: (como llamar a dos funciones en un onsubmit ) lo que seria correcto: onKeypress="return acceptNumNumero(this) && tabular(event,this);"
2. Según el tema: (Malas costumbres que deberían evitarse ) por lo tanto seria lo correcto:
<script type="text/javascript">

Seguire probandole para mi caso, pero si alguien ya lo logró por favor de compartirlo...y gracias
  #10 (permalink)  
Antiguo 08/01/2009, 10:10
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: saltar de campo formulario con enter

Hola hoberwilly, proba esto a ver que pasa ..
Código PHP:
<input type="text" name="cantidad[]" size="4" id="veni" onKeypress="tabular(event,this)"
O sea fijate si anda la funcion tabular me refiero, despues le agregamos la otra !!!

Saludos ...
__________________
Mail: [email protected]
  #11 (permalink)  
Antiguo 08/01/2009, 10:48
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: saltar de campo formulario con enter

Gracias colote por tu pronta respuesta,
aun no me funciona para mi caso, al dar enter a la primera caja de texto me dirige al submit eliminar que tengo en el codigo... el tema quizas esta en la forma como esta mi pagina:
Código php:
Ver original
  1. <!-- <body>
  2. <form name="a<?php echo $v['identificador'] ?>" method="post" action="#" id="a<?php echo $v['identificador'] ?>">
  3. <?php
  4. foreach($carro as $k => $v)  
  5. {
  6. ?>
  7. <tr>
  8.     <td align="center"><?php echo $v['id'] ?></td>
  9.     <td><?php echo $v['producto'] ?></td>
  10.     <td align="center"><input type="text" name="cantidad[]" size="4"></td>    //AQUI EL NAME ES cantidad[]
  11. </tr>
  12. <?php
  13. }
  14. ?>
  15. <table>
  16. <tr valign="middle">
  17.     <td align="center"><input type="submit" name="input_submit" value="Eliminar" onClick="return verifica(this.form['seleccion[]']) && comprueba1();"></td>
  18.     <td>&nbsp;</td>
  19.     <td align="right"><input type="submit" name="input_submit" value="Actualizar" onClick="return vacio(this.form['cantidad[]']) && comprueba2();"></td>
  20. </tr>
  21. </table>
  22. </form> -->

esto kda a groso modo asï:
id producto cantidad
---------------------------
001 producto 1 .100.(caja d texto) <---| //enter y se dirige a submit eliminar
002 producto 2 ......
005 producto 5 .....
009 producto 9 ......

eliminar(submit)
actualizar(submit)


gracias por la ayuda
  #12 (permalink)  
Antiguo 08/01/2009, 10:51
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: saltar de campo formulario con enter

Disculpen fue error de dedo:
Código php:
Ver original
  1. <!-- <input type="text" name="cantidad[]" size="4" onKeypress="tabular(event,this);"> -->

y ademas dejo la funcion final:
Código php:
Ver original
  1. <!-- function tabular(e,obj)
  2. {
  3.     tecla=(document.all) ? e.keyCode : e.which;
  4.     if(tecla!=13) return;
  5.     frm=obj.form;
  6.     for(i=0;i<frm.elements.length;i++)
  7.     if(frm.elements[i]==obj)
  8.     {
  9.         if(i==frm.elements.length-1)
  10.             i=-1;
  11.         break
  12.     }
  13.     if(frm.elements[i+1].disabled==true)
  14.         tabular(e,frm.elements[i+1]);
  15.     else frm.elements[i+1].focus();
  16.     return false;
  17. } -->
  #13 (permalink)  
Antiguo 08/01/2009, 10:54
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: saltar de campo formulario con enter

Veo que en tus casillas input no pusiste esto : onkeypress="return tabular(event,this)", agregalo y vemos !!!

Saludos
__________________
Mail: [email protected]
  #14 (permalink)  
Antiguo 08/01/2009, 11:07
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: saltar de campo formulario con enter

IDEM, funciona no de la manera correcta, como dije que al dar enter a la primera caja de texto me dirige al submit eliminar que tengo en el codigo.

id producto cantidad
---------------------------
001 producto 1 .100.(caja d texto) <---| //enter y se dirige a submit eliminar
002 producto 2 ...... //DEBERIA IR AQUI EL CURSOR???????
005 producto 5 .....
009 producto 9 ......

eliminar(submit)
actualizar(submit)

Gracias
  #15 (permalink)  
Antiguo 08/01/2009, 12:26
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: saltar de campo formulario con enter

Ponelo en la 1º caja de texto que uses, seria lo ideal, asi empezas a cargar los datos

Saludos
__________________
Mail: [email protected]
  #16 (permalink)  
Antiguo 08/01/2009, 12:46
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: saltar de campo formulario con enter

Repito amigo, la sintaxis de mi codigo es con un foreach:
Código php:
Ver original
  1. <!-- <?php
  2. foreach($carro as $k => $v)               ///FOREACH
  3. {
  4. ?>
  5. <tr>
  6.     <td align="center"><?php echo $v['id'] ?></td>
  7.     <td><?php echo $v['producto'] ?></td>
  8.     <td align="center"><input type="text" name="cantidad[]" size="4" onKeypress="return tabular(event,this);"> ></td>
  9. </tr>
  10. <?php
  11. }
  12. ?> -->
  #17 (permalink)  
Antiguo 08/01/2009, 17:56
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: saltar de campo formulario con enter

Ahhhhhhhhhhhhhhhhh !!!!!!!!!!!!!!! claro, yo lo tengo para ir caja de texto por caja de texto.
Ahi en ese foreach por logica tendria que funcionar, pero la verdad que me mataste !!!
Alguien que sepa como solucionar esto ??? Ayudaaaaaaaa !!!! :)

Mañana voy a ver si lo puedo probar a ver como funciona ese foreach ..

Saludosm, Ricardo !!!
__________________
Mail: [email protected]
  #18 (permalink)  
Antiguo 09/01/2009, 17:26
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: saltar de campo formulario con enter

Gracias de todas maneras Ricardo, de todas maneras seguire buscando en la web...
pero si alguien por ahi lo pueda compartir la idea se agradecera
  #19 (permalink)  
Antiguo 10/01/2009, 04:35
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: saltar de campo formulario con enter

hoberwilly, creo que hice algo parecido a lo que estas haciendo vos, pero con un FOR, no le agarro la mano al foreach jajaja !!!

este repite de 1 hasta el numero que le pongas, hace varias casillas de inputs, y el tabulador con el enter, pasa de los 4 inputs, cuando salis del 4to. input, salta los 2dos, 4, y asi, hasta la cantidad que le pongas ...

Te pego el codigo completo para que lo veas entero !!!
Ahh una curiosidad, !!! Como posteas para que se vea con la lista de numeros y aparezca ese copiar o ver original !!! jejeje !!!

Aca va el Codigo !!!
Código PHP:
<html>
<head>
<title>PRUEBA FORO !!!</title>
</head>

<script languaje="Javascript"> // este script hace que tabule el enter !!!
function tabular(e,obj) 
        {
            tecla=(document.all) ? e.keyCode : e.which;
            if(tecla!=13) return;
            frm=obj.form;
            for(i=0;i<frm.elements.length;i++) 
                if(frm.elements[i]==obj) 
                { 
                    if (i==frm.elements.length-1) 
                        i=-1;
                    break 
                }
            /*ACA ESTA EL CAMBIO*/
            if (frm.elements[i+1].disabled ==true )    
                tabular(e,frm.elements[i+1]);
            else frm.elements[i+1].focus();
            return false;
        }  

</script>

<body onLoad="document.getElementById('veni').focus();">
<?php 
include ('conexion.php');
$result=mysql_query("SELECT * FROM materia_prima order by codigo DESC LIMIT 1"  $conexion);
while(
$fila mysql_fetch_array($result))   //mientras haya registros en el resultado
{
$ultimo$fila['codigo']+1;
}  
?>


<form id="form" name="form" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<?php
for($i=1;$i<8;$i++)
{
?>

<legend><font color="silver"><h1>ALTA MATERIA PRIMA</h1></font></legend>

Codigo: >>> <b><?php echo $ultimo+$i;?></b><br>

Nombre Materia Prima:
<input type="text" size=25 name="nombre[]" id="veni" onkeypress="return tabular(event,this)"><br>
Unidad:
<input type="text" size=8  name="unidad[]" onkeypress="return tabular(event,this)"><br>
Costo en Pesos:
<input type="text" size=12 name="costo_mp_pesos[]" onkeypress="return tabular(event,this)"><br>
Costo en Dolares:
<input type="text" size=12 name="costo_mp_dolar[]" onkeypress="return tabular(event,this)"><br>
<?php
}
?>

<br>

<input type="submit" value="REGISTRAR">

</form>
</body>
</html>

Saludos, Ricardo,
__________________
Mail: [email protected]
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 07:59.