Renyo Postado Julho 18, 2007 Denunciar Share Postado Julho 18, 2007 Olá...bem..tenho um script<html> <head> <title>Formatação de Valores monetarios</title> </head> <body> <script> function Limpar(valor, validos) { // retira caracteres invalidos da string var result = ""; var aux; for (var i=0; i < valor.length; i++) { aux = validos.indexOf(valor.substring(i, i+1)); if (aux>=0) { result += aux; } } return result; } //Formata número tipo moeda usando o evento onKeyDown function Formata(campo,tammax,teclapres,decimal) { var tecla = teclapres.keyCode; vr = Limpar(campo.value,"0123456789"); tam = vr.length; dec=decimal if (tam < tammax && tecla != 8){ tam = vr.length + 1; } if (tecla == 8 ) { tam = tam - 1; } if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ) { if ( tam <= dec ) { campo.value = vr; } if ( (tam > dec) && (tam <= 5) ){ campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ); } if ( (tam >= 6) && (tam <= 8) ){ campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); } if ( (tam >= 9) && (tam <= 11) ){ campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); } if ( (tam >= 12) && (tam <= 14) ){ campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); } if ( (tam >= 15) && (tam <= 17) ){ campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam );} } } </script> <input type="text" name="T1" size="20" onKeydown="Formata(this,20,event,2)"></p> </p> </body> </html>ELE FAZ UM SEGUINTE.. ele formata as casas decimais enquanto eu digito...(se quiser pode fazer teste)...eu quero pegar esse script e fazer ele funcionar nos Textbox do meu GridView em momento de edição...sacaram da parada?Brigado aí !!! ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renyo Postado Julho 18, 2007 Autor Denunciar Share Postado Julho 18, 2007 É difícil assim ? alguém ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 quintelab Postado Julho 18, 2007 Denunciar Share Postado Julho 18, 2007 Eu acho que respondi no outro fórum, mas você não falou se funcionou ou não.No evento: RowEditingDim txtVlUnitario As TextBox = gv.Rows(e.NewEditIndex).Cells(6).Controls(0)txtVlUnitario.Attributes.Add("onKeyPress", "return(MascaraMoeda(this,'.',',',event))")Neste caso este JavaScript é mascara de moeda, mas qualquer outro JavaScript de mascara deve funcionar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renyo Postado Julho 19, 2007 Autor Denunciar Share Postado Julho 19, 2007 que estranho... o meu é em C#fiz assim...TextBox txtVlrAtual = GridObjEspc.Rows[e.NewEditIndex].Cells[3].Controls[0];txtVlrAtual.Attributes.Add("onKeyPress","Formata(this,20,event,2)");e ele emite o erroCS0266: Cannot implicitly convert type 'System.Web.UI.Control' to 'System.Web.UI.WebControls.TextBox'. An explicit conversion exists (are you missing a cast?)bem eu sei o que significa o erro e tal.. mas pra mim deveria funcionar...sendo que provavelmente aí deu certo né...o que ta de errado ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Renyo
Olá...
bem..tenho um script
<html> <head> <title>Formatação de Valores monetarios</title> </head> <body> <script> function Limpar(valor, validos) { // retira caracteres invalidos da string var result = ""; var aux; for (var i=0; i < valor.length; i++) { aux = validos.indexOf(valor.substring(i, i+1)); if (aux>=0) { result += aux; } } return result; } //Formata número tipo moeda usando o evento onKeyDown function Formata(campo,tammax,teclapres,decimal) { var tecla = teclapres.keyCode; vr = Limpar(campo.value,"0123456789"); tam = vr.length; dec=decimal if (tam < tammax && tecla != 8){ tam = vr.length + 1; } if (tecla == 8 ) { tam = tam - 1; } if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ) { if ( tam <= dec ) { campo.value = vr; } if ( (tam > dec) && (tam <= 5) ){ campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ); } if ( (tam >= 6) && (tam <= 8) ){ campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); } if ( (tam >= 9) && (tam <= 11) ){ campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); } if ( (tam >= 12) && (tam <= 14) ){ campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ); } if ( (tam >= 15) && (tam <= 17) ){ campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam );} } } </script> <input type="text" name="T1" size="20" onKeydown="Formata(this,20,event,2)"></p> </p> </body> </html>ELE FAZ UM SEGUINTE.. ele formata as casas decimais enquanto eu digito...(se quiser pode fazer teste)...
eu quero pegar esse script e fazer ele funcionar nos Textbox do meu GridView em momento de edição...
sacaram da parada?
Brigado aí !!! ;)
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.