2013-08-02 50 views
1

工作,這是我的javascript: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> 

什麼了是該解決方案?

+3

如果文本框被禁用,它將如何激發模糊事件? – CodingIntrigue

+0

我想在禁用模式下啓動它。有沒有其他的解決方案,我知道模糊不適用于禁用模式。 – Gaurav

+0

檢查我的答案。如果有什麼不清楚,請告訴我。 –

回答

0

其中一種方法是爲特定的文本框執行它。在你的情況下,它沒有啓用,值設置程序,可以將其上人口後更新值:

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

現在你只需要在填寫好文本框時執行該代碼。另請注意,我使用了類選擇器.disabled-textbox,您可能需要將此類添加到您的文本框中,或者使用更智能的選擇器來獲取所有禁用的文本框。以下是顯示如何更新文本框的jsfiddle