繁体   English   中英

Javascript无法用于禁用的文本框

[英]Javascript doesn't work for disabled text box

这是我的Javascript:

<script type = "text/javascript" language = "javascript">
  function formatCurrency(num) {
    num = num.toString().replace(/\Rs.|\,/g, '');
    if (isNaN(num))
      num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
      cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
      num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + num + '.' + cents);
  }
</script>

我正在使用此脚本在文本框中设置货币格式。 它适用于所有已启用的文本框,但不适用于已禁用的文本框,因为在某些事件中,文本框中的输入量相同。

以下是我的文本框:

<asp:TextBox ID="txtToTSanctioned" runat="server" Text="00.00"
  CssClass="mytextbox" Enabled="False"
  onblur = "this.value=formatCurrency(this.value);"></asp:TextBox>

有什么解决方案?

一种方法是对特定的文本框执行它。 正如您的情况一样,它未启用,并且值是通过编程设置的,您可以在填充后更新它的值:

var oldValue = $('.disabled-textbox').val();
var formattedValue = formatCurrency( oldValue );
$('.disabled-textbox').val( formattedValue );

现在,仅在填充文本框时才需要执行此代码。 还要注意,我使用了类选择器.disabled-textbox ,您可能需要将此类添加到文本框中,或者使用更智能的选择器来获取所有禁用的文本框。 这是显示如何更新文本框的jsfiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM