| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2007 22:27:34
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
Code:
<mtw:inputMoney name="minValue" decimals="3" size="15" maxlength="14"/>
Bem, olha o q eu digito e o resultado:
Dig ==> Resultado
1 ==> 0,001
2 ==> 0,012
3 ==> 0,123
4 ==> 1,234
5 ==> 12,345
6 ==> 123,456
7 ==> 1.234,567
8 ==> 12.345,678
9 ==> 123.456,789
0 ==> 1.234.567,890
1 ==> 12.345.678,901
2 ==> 123.456.789,01
Cade os meus 3 decimais? Daih eu choro, hehehehehe
Outra coisa, nem ao clicar no Back Space, nem no Del reformata o campo. Não seria interessante?
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 05:53:54
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline
|
É bug no javaScript no IE funciona :/
|
Atenciosamente,
Hélio Frota
Helio Frota
10+ Java Programmer
heliofrota.com
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 07:53:06
|
thiagoalgo
Joined: 12/01/2007 13:47:35
Messages: 138
Offline
|
Este é um problema típico de diferença dos browsers. Na minha opinião, o tratamento dessas excessões de diferenças de implentações de javascript são papel do framework. Tudo que for trabalho repetitivo, e neste caso acho que é, deve ficar a cargo do framework, quando possível. Acho que nesse caso concordo quando o Velo diz que pode ser um bug.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:11:18
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline
|
Na verdade mesmo não é um "bug" o problema é de adaptação para os browsers, o javascript é este :
Code:
inputMoneyAddEvent = function(o, e, f, s){
var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
r[r.length] = [f, s || o], o[e] = function(e){
try{
(e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
e.target || (e.target = e.srcElement || null);
e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
}catch(f){}
for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
return e = null, !!d;
}
};
inputMoneyMask = function(o, n, dig, dec){
o.c = !isNaN(n) ? Math.abs(n) : 2;
o.dec = dec || ",", o.dig = dig || ".";
inputMoneyAddEvent(o, "keypress", function(e){
if(e.key > 47 && e.key < 58){
var o, s = ((o = this).value.replace(/^0+/g, "") + String.fromCharCode(e.key)).replace(/\D/g, ""), l, n;
(l = s.length) <= (n = o.c) && (s = new Array(n - l + 2).join("0") + s);
for(var i = (l = (s = s.split("")).length) - n; (i -= 3) > 0; s[i - 1] += o.dig);
n && n < l && (s[l - ++n] += o.dec);
o.value = s.join("");
}
e.key > 30 && e.preventDefault();
});
}
Já isolei o problema milhares de vezes mas não consegui resultados sempre dá problema em seja no FF ou IE.
Se alguém que manja de javaScript quizer dar uma ajuda será bem vinda.
|
Atenciosamente,
Hélio Frota
Helio Frota
10+ Java Programmer
heliofrota.com
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:16:13
|
IceW0lf
![[Avatar]](/images/avatar/7cbbc409ec990f19c78c75bd1e06f215.jpg)
Joined: 16/03/2006 08:33:38
Messages: 1546
Location: Brasília
Offline
|
Deixa eu colocar minha colher nessa sopa ai....
Bom antes do menta ter a tal tag eu usava o código abaixo para fazer a máscara e funcionava tanto no ie quanto no fire. Segue o codigo para análise de vcs ai.
Code:
//FORMATA MOEDA
//fmtMoney(number: Number, [floatPoint: Integer = 2], [decimalSep: String = ","], [thousandsSep: String = "."]): String
//Retorna o número no formato monetário. numbernúmero (ou string no formato "xxx.yy") que será convertido
//floatPointnúmero de casas decimais decimalSepstring que será usada como separador decimal thousandsSepstring que será usada como separador de milhar
fmtMoney = function(n, c, d, t){
var m = (c = Math.abs(c) + 1 ? c : 2, d = d || ",", t = t || ".",
/(\d+)(?:(\.\d+)|)/.exec(n + "")), x = m[1].length > 3 ? m[1].length % 3 : 0;
return (x ? m[1].substr(0, x) + t : "") + m[1].substr(x).replace(/(\d{3})(?=\d)/g,
"$1" + t) + (c ? d + (+m[2] || 0).toFixed(c).substr(2) : "");
};
Como vcs podem ver é bem menor que o atual do menta.
|
Leiber Wallace
Voixy ::: Soluções em Telecomunicações |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:26:36
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline
|
Fala ICE !
Cara eu vô testar aqui, dando certo eu falo com a equipe e te dou um feedback ok .
|
Atenciosamente,
Hélio Frota
Helio Frota
10+ Java Programmer
heliofrota.com
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:28:02
|
thiagoalgo
Joined: 12/01/2007 13:47:35
Messages: 138
Offline
|
Lobo, só lembro que não fiz uma crítica. Até pq como eu disse esse é um problema típico de incompatibilidade e eu também nunca consegui resolver. A intenção do meu post era de ser um pouco mais "filosófico", buscando encaixar os conceitos de framework (utilizado até mesmo pelos concorrentes do mentawai) em tentar isolar o desenvolvedor desse tipo de questão. Desculpe se não me expressei bem.
Lobo wrote:
Na verdade mesmo não é um "bug" o problema é de adaptação para os browsers, o javascript é este :
Code:
inputMoneyAddEvent = function(o, e, f, s){
var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
r[r.length] = [f, s || o], o[e] = function(e){
try{
(e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
e.target || (e.target = e.srcElement || null);
e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
}catch(f){}
for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
return e = null, !!d;
}
};
inputMoneyMask = function(o, n, dig, dec){
o.c = !isNaN(n) ? Math.abs(n) : 2;
o.dec = dec || ",", o.dig = dig || ".";
inputMoneyAddEvent(o, "keypress", function(e){
if(e.key > 47 && e.key < 58){
var o, s = ((o = this).value.replace(/^0+/g, "") + String.fromCharCode(e.key)).replace(/\D/g, ""), l, n;
(l = s.length) <= (n = o.c) && (s = new Array(n - l + 2).join("0") + s);
for(var i = (l = (s = s.split("")).length) - n; (i -= 3) > 0; s[i - 1] += o.dig);
n && n < l && (s[l - ++n] += o.dec);
o.value = s.join("");
}
e.key > 30 && e.preventDefault();
});
}
Já isolei o problema milhares de vezes mas não consegui resultados sempre dá problema em seja no FF ou IE.
Se alguém que manja de javaScript quizer dar uma ajuda será bem vinda.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:38:37
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline
|
Lobo, só lembro que não fiz uma crítica.
Relaxa cara não ví como crítica, e se fosse uma crítica seria bem vinda.
Desculpe se não me expressei bem.
Não peça desculpa porque você não fez nada demais o_0, todo mundo erra! Eu fiz uma M@$%& uma vez no guj "joguei pedra" no cara errado.
Ninguém no planeta tem obrigação de saber usar fórums, como ninguém no planeta tem obrigação de saber como burlar um servidor de irc :] e monitorar a vida dos usuários :]
|
Atenciosamente,
Hélio Frota
Helio Frota
10+ Java Programmer
heliofrota.com
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:39:15
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
Pergunto...
Se checasse no server qual o browser do cliente e desse um include diferente pra cada navegador?
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:40:58
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline
|
Ok , faria um js pra cada mas isso num é Gambit / Adaptação técnica :p ??
|
Atenciosamente,
Hélio Frota
Helio Frota
10+ Java Programmer
heliofrota.com
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:45:30
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
Não vejo assim....
Como os browsers não são iguais, a gente tem q ser virar pra tratar os 2 de forma diferente.
Acho esse um bom caminho, se não me engano no request dah pra ver o navegador.
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 08:46:04
|
thiagoalgo
Joined: 12/01/2007 13:47:35
Messages: 138
Offline
|
Lobo wrote:
Ok , faria um js pra cada mas isso num é Gambit / Adaptação técnica :p ??
É sim uma gambiarra. O problema é que todos os browsers seguem um padrão (não sei especificamente qual) exceto o IE. Se a solução do IceW0lf funcionar, eu acho interessante pois seria típica e funcional para os dois. Mas em outros casos costuma-se mesmo (na camada de visão) verificar o tipo do browser qdo estas questões de incompatibilidade surgem.
Uma coisa é certa em 99% dos casos. Ou é IE com seu próprio padrão ou é outro browser com padrão comum.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 16:01:11
|
IceW0lf
![[Avatar]](/images/avatar/7cbbc409ec990f19c78c75bd1e06f215.jpg)
Joined: 16/03/2006 08:33:38
Messages: 1546
Location: Brasília
Offline
|
Tem mais uma coisa...
O problema com os browsers não é apenas na questao das casa decimais mas tambem na quantidade de caracteres que no IE nao fufa e no Fire sim... pelo menos no meu caso.
|
Leiber Wallace
Voixy ::: Soluções em Telecomunicações |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 16:46:49
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline
|
Isso mesmo ICE, essa é a parte ruim da WEB (na minha opinião)
|
Atenciosamente,
Hélio Frota
Helio Frota
10+ Java Programmer
heliofrota.com
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/04/2007 16:52:38
|
velo
![[Avatar]](/images/avatar/7f39f8317fbdb1988ef4c628eba02591.jpg)
Joined: 16/02/2006 13:33:54
Messages: 1197
Location: Jaraguá do Sul - SC
Offline
|
O ruim da net eh q o W3C passou anos (e muitos anos) sentado em cima do proprio saco. A M$ inventou o proprio padrão dela pra internet (q não é 100% aderente ao W3C) e agora o W3C qr ditar regras....
Um pouco de loucura dos bixos mas tudo bem.
Nem o site do google passa no W3C validator, daí vc pensa, qm está certo? O W3C ou o mundo?
Analogia ao mundo java, EJB 2.1, Entity Bean X Hibernate. Quem estava certo? O padrão do JCP (Entity Bean) ou o mundo(Hibernate)? Ver EJB3 para resposta.
VELO
|
_____________________________________
Mentawai Developer
"When the only tool you have is a hammer, everything looks like a nail"
http://en.wikipedia.org/wiki/Golden_hammer |
|
|
 |
|
|