【问题标题】:Format a text box on an asp.net web page to currency format using javascript使用javascript将asp.net网页上的文本框格式化为货币格式
【发布时间】:2014-02-20 13:21:28
【问题描述】:

我需要文本域动态响应,也就是说如果用户按下“1”,文本域将看起来像这样 $ 0.01,然后 2 = $ 0.12 等等。

在过去的 5 个小时里,我一直在试图找到可以执行此操作的 java 脚本,但无济于事。

my asp.net element= <asp:TextBox ID="txtAmountExclVat" runat="server" style="text-    align:right;" OnKeyUp="CurencyFormatting();"  OnTextChanged="txtAmountExclVat_TextChanged" ></asp:TextBox>

    <script language="javascript">
    function CurencyFormatting()
    {
        var display = document.getElementById("ContentPlaceHolder1_txtAmountExclVat").value;
        var number = display;
        if (number === null)
        { number = 0.0 }
        else
        {
            var length = number.length;
            if(length==1)
            {
                number = "R 0.0".concat(number);
            }
            if (length == 2)
            {
                number = "R 0.".concat(number);
            }
            if (length == 3)
            {
                var formatting = number.split("");
                number = "";
                number = "R ".concat(formatting[0]);
                number = number.concat(".");
                number=number.concat(formatting[1],formatting[2])
            } 
            if (length == 4)
            {
                var formatting = number.split("");
                number = "";
                number = "R".concat(formatting[0], formatting[1]);
                number = number.concat(".");
                number = number.concat(formatting[2], formatting[3]);
            }
            if (length == 5)
            { 
                var formatting = number.split("");
                number = "";
                number = "R ".concat(formatting[0], formatting[1],formatting[2]);
                number = number.concat(".");
                number = number.concat(formatting[3], formatting[4]);
            }
            if (length == 6)
            {
                var formatting = number.split("");
                number = "";
                number = "R ".concat(formatting[0], formatting[1], formatting[2], formatting[3]);
                number = number.concat(".");
                number = number.concat(formatting[4], formatting[5]);
            }
            display.value = number;


        }
    }

【问题讨论】:

    标签: javascript asp.net currency formatting


    【解决方案1】:

    这样试试

    <input type="text" id="myTextBox" onkeyup="formatNum(event)" />
    
    
    <script type="text/javascript">
    var abc=["0",".","0","0"];
    
    
    function formatNum(e){
    
                var keynum;
    
                if(window.event){ // IE                 
                    keynum = e.keyCode;
                }else
                    if(e.which){ // Netscape/Firefox/Opera                  
                        keynum = e.which;
                     }
    
    abc[0]=abc[2]
    abc[1]=abc[1];
    abc[2]=abc[3]
    abc[3]=String.fromCharCode(keynum);
    document.getElementById("myTextBox").value=abc.join('');
    
    }
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-20
      • 1970-01-01
      • 2020-07-18
      相关资源
      最近更新 更多