¿Cómo ejecutar un evento al presionar enter en un textbox en asp net?
Más de una vez hemos tenido la necesidad de presionar la tecla ENTER dentro de un control TEXTBOX y nos damos cuenta que dicho evento no es capturado en el lado del servidor; esto nos lleva a crear una función con JAVASCRIPT que permita capturar dicho evento y mandar a presionar un botón que tenemos oculto lo que da la ilusión de hacer dicha acción.
Pero para realizar nuestro objetivo podemos hacerlo sin mucho esfuerzo sin hacer uso de JAVASCRIPT y es utilizando el control PANEL.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <asp:Panel ID="Panel1" runat="server" DefaultButton="btnEnviar"> <asp:TextBox ID="txtPagos" runat="server" > </asp:TextBox> <asp:ImageButton ID="btnEnviar" runat="server" ImageUrl="~/Img/btn/okay.png" Width="16px" CommandName="Select" ToolTip="Seleccionar" style="display:none;"> </asp:ImageButton> </asp:Panel> |
El truco está en el control PANEL y en su propiedad DEFAULTBUTTON la cual nos permite designar un BUTTON, IMAGEBUTTON o cualquier control ASP.NET que emule un INPUT y que envié información al lado del servidor. Con esto mientras estemos dentro del PANEL y presionamos la tecla ENTER se disparara el evento clic del botón designado como default haciendo el efecto deseado en el control TEXTBOX.
Es muy importante que agreguemos el atributo CSS DISPLAY:NONE para ocultar el botón que usaremos para generar el evento.
OK, lo tendremos en cuenta.
excelente muchas gracias att fjmurillov
lo maximo justo lo que necesitaba.
Eres genial! He estado buscando desde hace un tiempo como realizar esa acción! TwT Gracias! De Verdad!
Gracias Victoria, muy pronto tendremos tutoriales en video en nuestro canal de YouTube. Estaré mandando notificaciones por correo, esperamos su apoyo con algunas visitas.
Muchas gracias
Muy buen aporte, gracias.
Gracias por tu comentario Carlos.
Maestro! Grande! me solucionaste un problema en solo 2 minutos!
Excelente solución, me salvó de un terrible dolor de cabeza.
Excelente aporte, me sirvió a la perfección y me ahorraste un montón de tiempo.
Excelente aporte, gracias
Muy buen aporte
Gracias a ti por tomarte el tiempo y dejar un mensaje.
Se que el aporte es antiguo, de igual manera quiero dejar mi agradecimiento porque la solución entregada es demasiado practica, he estado buscando en varios lugares el como hacer esto y todos presentan soluciones por medio de JS, pero requiere mas código y mayor complejidad para quienes llevamos poco tiempo en esto.
En la programación siempre se busca ahorrar código y tu solución cumple con esto a la perfección.
Saludos!!
Tu solución