Foros del Web » Programando para Internet » Javascript »

Dos casos para realizar enter

Estas en el tema de Dos casos para realizar enter en el foro de Javascript en Foros del Web. Hola amigos, Tengo el siguiente formulario: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original <!-- < html > < head > < meta http - equiv = ...
  #1 (permalink)  
Antiguo 23/01/2009, 09:55
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 16 años, 4 meses
Puntos: 2
Pregunta Dos casos para realizar enter

Hola amigos,
Tengo el siguiente formulario:
Código php:
Ver original
  1. <!-- <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  4. <title>Formulario Logeo</title>
  5. <style type='text/css'>
  6. <!--
  7. .input_text{
  8. text-align: right;
  9. }
  10. -->
  11. </style>
  12. <script type="text/javascript">
  13. function acceptNumNumero(campo)
  14. {
  15.     var key=window.event.keyCode;
  16.     var esNumero = (key<48 || key>57);
  17.     if(esNumero)
  18.     {
  19.             window.event.keyCode=0;
  20.     }
  21. }
  22. </script>
  23. </head>
  24.  
  25. <body onLoad="document.getElementById('veni').focus();">
  26. <form name="form" method="post" action="login.php">
  27. <center>
  28. <table width="80%" border="1" cellpadding=10 align="center">
  29. <tr>
  30. <td align="center">Ingrese D.N.I.:</td>
  31. <td align="center"><input type="text" name="dni" id="veni" size='18' maxlength='8' class="input_text" onKeypress="acceptNumNumero(this)"></td>
  32. </tr>
  33. <tr>
  34. <td align="center" colspan="2"><input type="submit" name="submit" value="ENVIAR"></td>
  35. </tr>
  36. </table>
  37. </form>
  38. </body>
  39. </html> -->

Lo que se solicita es que exista dos formas adicionales de enviar el formulario:
1. estoy situado en la caja de texto, digito el DNI, y con tan solo dar enter me dirija a pagina siguiente
2. estoy situado en la caja de texto, digito el DNI, y con (digamos ALT+e) combinaciones del teclado pueda tambien dirigirme pagina siguiente.
como que el boton submit tenga ENVIAR

Gracias de antemano por su ayuda, esperando tener respuestas positivas
  #2 (permalink)  
Antiguo 23/01/2009, 10:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Dos casos para realizar enter

Para lo de Alt+E (en realidad depende del navegador), puedes usar el atributo accesskey.

Para lo del ENTER, es automático para los botones submit, el único problema es que estás anulado esa tecla en el evento onkeypress del input text (Ojo, que tu código sólo es compatible con IE, debes modificarlo para que también utilice el estándar event.which y event.preventDefult())
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 23/01/2009, 10:23
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Dos casos para realizar enter

Muchas gracias David,
Al respecto lo de la primera parte, se realizo de la sgte manera:
Código php:
Ver original
  1. <!-- <input type="submit" name="submit" value="ENVIAR"  accesskey="E"> -->
pero una consultita como imprimir el value"ENVIAR" de la sgte manera:"ENVIAR"

y lo segundo intente implementarlo segun la sgte direccion:
http://www.telefonica.net/web2/blas-...idarformu.html, pero como que no funciona...???...intentare de nuevo probar sino espero me puedas seguir ayudando

Saludos,
  #4 (permalink)  
Antiguo 23/01/2009, 10:36
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Dos casos para realizar enter

Listo el codigo quedó asi:
Código php:
Ver original
  1. <!-- <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  4. <title>Formulario Logeo</title>
  5. <style type='text/css'>
  6. <!--
  7. .input_text{
  8. text-align: right;
  9. }
  10. -->
  11. </style>
  12. <script type="text/javascript">
  13. function validar(e)
  14. {
  15.     tecla = (document.all) ? e.keyCode : e.which;
  16.     if (tecla==8) return true;
  17.     patron = /\d/; // Solo acepta números
  18.     te = String.fromCharCode(tecla);
  19.     return patron.test(te);
  20. }
  21. </script>
  22. </head>
  23.  
  24. <body onLoad="document.getElementById('veni').focus();">
  25. <form name="form" method="post" action="login.php">
  26. <center>
  27. <table width="80%" border="1" cellpadding=10 align="center">
  28. <tr>
  29. <td align="center">Ingrese D.N.I.:</td>
  30. <td align="center"><input type="text" name="dni" id="veni" size='18' maxlength='8' class="input_text" onKeypress="return validar(event)"></td>
  31. </tr>
  32. <tr>
  33. <td align="center" colspan="2"><input type="submit" name="submit" value="ENVIAR"  accesskey="E"></td>
  34. </tr>
  35. </table>
  36. </form>
  37. </body>
  38. </html>
  39.  -->
Pero queda pendiente:
1. "...pero una consultita como imprimir el value"ENVIAR" de la sgte manera:"ENVIAR" ... "
2. "...el único problema es que estás anulado esa tecla ..." igualmente se esta anulando para este nuevo js, como modificarlo???

Gracias,
  #5 (permalink)  
Antiguo 23/01/2009, 10:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Dos casos para realizar enter

La línea 16 cambia por:
Código javascript:
Ver original
  1. if (tecla==8 || tecla==13) return true;
13 es el código de la tecla Intro, así que de esa forma no lo anulamos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 23/01/2009, 11:03
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Dos casos para realizar enter

Oka David,
solo faltaria esto: como imprimir el value"ENVIAR" de la sgte manera:"ENVIAR"???

Saludos,
  #7 (permalink)  
Antiguo 23/01/2009, 11:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Dos casos para realizar enter

Creo que hacerlo de esa manera es poco accesible, no todos van a entender que el subrayado o hasta la negrita en una letra indique la tecla de acceso. Es mejor que la tecla de acceso sea bastante clara para el usuario, así le será más útil.

Bueno, de todos modos una forma un poco rebuscada de hacer lo que deseas:
Código html:
Ver original
  1. <button type="submit" accesskey="E"><span style="text-decoration: underline">E</span>nviar</button>
No obstante, como dije, no me parece del todo útil.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 23/01/2009, 11:23
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Dos casos para realizar enter

Te pasaste David, si que eres El Grande...

Saludos,
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:26.