Hello,
Recently i have a problem with this extension when i put 3 decimals on mask.
The Problem his when i put the number 0.100 the result is 0.010. The Javascript code cut one zero on the right.
To solve this problem i wrote this condition on the top:
SyntaxEditor Code Snippet
if('" + CurrencyMaskOptions.CurrencyMaskOptions.Decimals +"' == 3) { if(osjs('#" + InputId + "').val().indexOf('.') == -1){ osjs('#" + InputId + "').val(osjs('#" + InputId + "').val() + '.000'); } else { if(osjs('#" + InputId + "').val().substring(osjs('#" + InputId + "').val().indexOf('.') + 1).length < 3) { osjs('#" + InputId + "').val(osjs('#" + InputId + "').val() + '0') } } } else { if(osjs('#" + InputId + "').val().indexOf('.') == -1){ osjs('#" + InputId + "').val(osjs('#" + InputId + "').val() + '.00'); } else { if(osjs('#" + InputId + "').val().substring(osjs('#" + InputId + "').val().indexOf('.') + 1).length < 2) { osjs('#" + InputId + "').val(osjs('#" + InputId + "').val() + '0') } } }
I hope to help some one with this.
Thanks.
There is a better solution for any decimals. This code below should be placed in the JavaScript Tag,
"<script type=""text/JavaScript""> osjs(document).ready(function () { " + If(InputId <> "", " var decimals = '.'; var i = 0; while (i < '" + CurrencyMaskOptions.CurrencyMaskOptions.Decimals +"') { decimals += '0'; i++; } if('" + CurrencyMaskOptions.CurrencyMaskOptions.DecimalSeparator + "' == ',') { if(osjs('#" + InputId + "').val().indexOf('.') == -1){ osjs('#" + InputId + "').val(osjs('#" + InputId + "').val() + decimals); } else { while (osjs('#" + InputId + "').val().substring(osjs('#" + InputId + "').val().indexOf('.') + 1).length < '" + CurrencyMaskOptions.CurrencyMaskOptions.Decimals +"'){ osjs('#" + InputId + "').val(osjs('#" + InputId + "').val() + '0'); } } } osjs('#" + InputId + "').before(osjs('#" + InputId + "').clone().attr('id','" + InputId + "' + '_mask')); osjs('#" + InputId + "' + '_mask').attr('name',osjs('#" + InputId + "' + '_mask').attr('name') + '_mask'); osjs('#" + InputId + "').css('display','none'); if('" + CurrencyMaskOptions.CurrencyMaskOptions.DecimalSeparator + "' == ',') { if(osjs('#" + InputId + "_mask').val().indexOf('.') == -1){ osjs('#" + InputId + "_mask').val(osjs('#" + InputId + "_mask').val() + decimals); } else { while (osjs('#" + InputId + "_mask').val().substring(osjs('#" + InputId + "_mask').val().indexOf('.') + 1).length < '" + CurrencyMaskOptions.CurrencyMaskOptions.Decimals +"') { osjs('#" + InputId + "_mask').val(osjs('#" + InputId + "_mask').val() + '0'); } } } osjs('#" + InputId + "_mask').keyup(function () { osjs('#" + InputId + "').val(osjs(this).val().replace(/\"+CurrencyMaskOptions.CurrencyMaskOptions.GroupSeparator+"/g,'').replace(/\" + CurrencyMaskOptions.CurrencyMaskOptions.DecimalSeparator +"/g,'.')); }); osjs('#" + InputId + "_mask').maskMoney({thousands:'" + CurrencyMaskOptions.CurrencyMaskOptions.GroupSeparator + "', decimal:'" + CurrencyMaskOptions.CurrencyMaskOptions.DecimalSeparator +"', precision:" + CurrencyMaskOptions.CurrencyMaskOptions.Decimals + ", allowZero:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.AllowZero) + ", allowNegative:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.AllowNegative) + ", defaultZero:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.DefaultZero) + ", showSymbol:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.ShowSymbol) + ", symbol:'" + CurrencyMaskOptions.CurrencyMaskOptions.Symbol + "', symbolStay:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.PersistentSymbol) + "}); osjs('#" + InputId + "_mask').trigger('mask');","") + If(ClassToMask <> "", " osjs('." + ClassToMask + "').maskMoney({thousands:'" + CurrencyMaskOptions.CurrencyMaskOptions.GroupSeparator + "', decimal:'" + CurrencyMaskOptions.CurrencyMaskOptions.DecimalSeparator +"', precision:" + CurrencyMaskOptions.CurrencyMaskOptions.Decimals + ", allowZero:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.AllowZero) + ", allowNegative:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.AllowNegative) + ", defaultZero:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.DefaultZero) + ", showSymbol:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.ShowSymbol) + ", symbol:'" + CurrencyMaskOptions.CurrencyMaskOptions.Symbol + "', symbolStay:" + ToLower(CurrencyMaskOptions.CurrencyMaskOptions.PersistentSymbol) + "}); osjs('." + ClassToMask + "').trigger('mask');","") + " }); </script>"
I hope to help someone whit this code.