Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Mascara de Entrada en Campos (http://www.forosdelweb.com/f29/mascara-entrada-campos-249505/)

phinojosa 24/11/2004 07:21

Mascara de Entrada en Campos
 
Que tal gente del foro

Estoy desarrollando en ASP.NET con C#
Aqui tengo una duda. Alguien sabe como poder aplicar una máscara de entrada a mis campos de texto??

Ejemplo:

Quisiera aplicar a un campo un formato así:

Si el valor ingresado es 5256.2

El resultado sea: 5,256.20

Pero debe ser en línea. Tal como se hacía en Visual Basic 6.0 con el InputMask.

Supongo que es algo con Javascript. Si alguien tiene el código o alguna idea.

Saludos y Gracias

kedron 24/11/2004 08:18

phinojosa acá hay algo en javascript no soy bueno para javascript, pero podria servir, siempre y cuando lo utilices con el famoso <input> ahora podrias agregarlo a una clase que herede del "Inherits System.Web.UI.WebControls.TextBox" y en la funcion render agregarlo como atributo, esto permitiria que lo controle en el cliente.

Código HTML:

<script language="javascript"> 
    'onblur="NumFormato('input1', false)"
    function NumFormato(NombreControl, PermiteNulo)
    {    var valor = document.all[NombreControl].value;   
          if (valor == '' && PermiteNulo == true) return;
          valor = valor.replace('.', ',');
          'posi = valor.search('-');   
          document.all[NombreControl].value = valor;
    }
</script>

De esta otra forma al objeto asp:textbox evento OnTextChanged="TextBox1_TextChanged" cuando realice un cambio el evento autoposback podria darle formato de acuerdo a la configuracion del CurrentCulture.

Código HTML:

<asp:textbox id="Textbox1" runat="server" autopostback="true" OnTextChanged="TextBox1_TextChanged" Width="170px"></asp:textbox>

        'Imports System.Threading
        Function NumFormato(ByVal Numero As String, ByVal CantDecimales As Integer) As String
            'Function NumFormato(ByVal Numero As String, ByVal Separador As String, ByVal nDecimal As Integer) As String
            Thread.CurrentThread.CurrentCulture = New CultureInfo("es-CL", True)
            Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = "," 'Separador
            Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalDigits = 2 'nDecimal
            Return CDec(Numero).ToString("N")
        End Function

Espero te sirva la forma de aplicar este tipo de cambios, esto va depender de la carga de datos de la pagina. Al realizar estos cambios por autopostback veras simples parpadeos en pantalla.

:cool: nos vemos
Kedron


La zona horaria es GMT -6. Ahora son las 05:48.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.