Substituir campo com "," por "0,00"

Enviada por Priscila 
Priscila
Substituir campo com "," por "0,00"
03 de May de 2012 às 10:06AM
Olá pessoal!

Estou com uma dúvida. Criei uma função para substituir campos que tenham o valor "," por "0,00" mas não deu muito certo. Simplesmente nada acontece. O que pode ser?

Segue abaixo a fórmula e como exibi no código.

FÓRMULA:

function preenchezeros() {
if(campo1!="," && campo2!="," && campo3!="," && campo4!="," && campo5!="," && campo6!="," && campo7!="," && campo8!="," && campo9!="," && campo10!=",") {
campo1="0,00";
campo2="0,00";
campo3="0,00";
campo4="0,00";
campo5="0,00";
campo6="0,00";
campo7="0,00";
campo8="0,00";
campo9="0,00";
campo10="0,00";
}
}

CÓDIGO DENTRO DO INPUT:

onkeyup="preenchezeros(event,this);"

Obrigada!!!
Priscila
Re: Substituir campo com "," por "0,00"
03 de May de 2012 às 10:14AM
Tentei desse jeito também e nada acontece:

function preenchezeros() {
if(campo1!="," && campo2!="," && campo3!="," && campo4!="," && campo5!="," && campo6!="," && campo7!="," && campo8!="," && campo9!="," && campo10!=",") {
campo1=campo1.replace( ",", "0,00" );
campo2=campo2.replace( ",", "0,00" );
campo3=campo3.replace( ",", "0,00" );
campo4=campo4.replace( ",", "0,00" );
campo5=campo5.replace( ",", "0,00" );
campo6=campo6.replace( ",", "0,00" );
campo7=campo7.replace( ",", "0,00" );
campo8=campo8.replace( ",", "0,00" );
campo9=campo9.replace( ",", "0,00" );
campo10=campo10.replace( ",", "0,00" );
}
}
Marcos Regis
Re: Substituir campo com "," por "0,00"
03 de May de 2012 às 01:11PM
De onde vem campo1??
Faça um teste de mesa. Verá que somente entra na condição quando TODOS os campos forem iguais a ",".
É isso mesmo que você quer?
Priscila
Re: Substituir campo com "," por "0,00"
03 de May de 2012 às 03:08PM
Olá Marcos!

Fiz uma alteração na função mas não adiantou... rsrs
Na verdade o que eu quero é que quando em algum desses campos for igual a vírgula "," a função substitua pelo valor 0,00

function preenchezeros() {
campo1 = document.cadastro.freteliq.value;
campo2 = document.cadastro.seguro.value;
campo3 = document.cadastro.txbancaria.value;
campo4 = document.cadastro.pedagio.value;
campo5 = document.cadastro.ajudextra.value;
campo6 = document.cadastro.heajudante.value;
campo7 = document.cadastro.hemotorista.value;
campo8 = document.cadastro.hesupervisor.value;
campo9 = document.cadastro.matexced.value;
campo10 = document.cadastro.txpermanente.value;

if(campo1="," && campo2="," && campo3="," && campo4="," && campo5="," && campo6="," && campo7="," && campo8="," && campo9="," && campo10=",") {
campo1=campo1.replace( ",", "0,00" );
campo2=campo2.replace( ",", "0,00" );
campo3=campo3.replace( ",", "0,00" );
campo4=campo4.replace( ",", "0,00" );
campo5=campo5.replace( ",", "0,00" );
campo6=campo6.replace( ",", "0,00" );
campo7=campo7.replace( ",", "0,00" );
campo8=campo8.replace( ",", "0,00" );
campo9=campo9.replace( ",", "0,00" );
campo10=campo10.replace( ",", "0,00" );

document.cadastro.freteliq.value=(campo1);
document.cadastro.seguro.value=(campo2);
document.cadastro.txbancaria.value=(campo3);
document.cadastro.pedagio.value=(campo4);
document.cadastro.ajudextra.value=(campo5);
document.cadastro.heajudante.value=(campo6);
document.cadastro.hemotorista.value=(campo7);
document.cadastro.hesupervisor.value=(campo8);
document.cadastro.matexced.value=(campo9);
document.cadastro.txpermanente.value=(campo10);
}
}
Marcos Regis
Re: Substituir campo com "," por "0,00"
03 de May de 2012 às 04:24PM
Esse campo é para aceitar valor monetário?
ISso é só para exibição ou vai ser preenchido manualmente?
Arnaldo Moreira
Re: Substituir campo com "," por "0,00"
03 de May de 2012 às 06:03PM
Não sei se seria o caso Priscila, mas tem um plugin jquery para colocar mascara com valor monetário, da uma olhadinha nesse link ai se te interessar.

http://ruancarlos.com.br/Blog/maskinputmoney-mascara-de-moedas-jquery-plugin/
Priscila
Re: Substituir campo com "," por "0,00"
03 de May de 2012 às 08:50PM
Olá Marcos!
Na verdade tenho um formulário e se eu não digitar valor nenhum, ele fica com a vírgula. Por isso que quero substituir por 0,00 para que a fórmula da soma funcione. Só será preenchido na outra tela de alteração.

Arnaldo,
A máscara já funciona, eu preciso mesmo é dessa função que substitua.

Obrigada!!!
Diego R. Mengarda
Re: Substituir campo com "," por "0,00"
04 de May de 2012 às 07:34AM
Você precisa dessa função em javascript ou PHP?
Thiago Vaini
Re: Substituir campo com "," por "0,00"
05 de May de 2012 às 01:01PM
Posso estar delirando, mas o que entendi é que o erro está no If...

veja

vc colocou If (campo1 != ",")
entao, temos: SE CAMPO1 NAO FOR IGUAL A , ENTÃO SUBSTITUA

o correto não seria if (campo1 == ",") { substitua "," por "0,00" }

é isso mesmo? ou viajei??
Priscila
Re: Substituir campo com "," por "0,00"
07 de May de 2012 às 02:02PM
Olá Diego!

Pode ser em javascript mesmo!
Priscila
Re: Substituir campo com "," por "0,00"
07 de May de 2012 às 02:04PM
Thiago,

Eu quero substituir TODOS os campos que forem igual a "," por "0,00"
Jayme A. C. Gimenez
Re: Substituir campo com "," por "0,00"
07 de May de 2012 às 02:16PM
O que o pessoal está tentando lhe dizer, pelo que entendi, é que há um erro de lógica em seu if. Do jeito que você fez:

if(campo1="," && campo2="," && campo3="," && campo4="," && campo5="," && campo6="," && campo7="," && campo8="," && campo9="," && campo10=",")

, só vai haver a substituição se, e somente se, TODOS os campos forem iguais a ",". Ou seja, se qualquer um deles for diferente de "," , NÃO haverá a substituição.

Pelo que estou entendendo, você quer substituir em qualquer campo (se o campo1 1 é ",", substitui, não importando se os demais campos são isso ou aquilo).

Se for isso que vc quer, vc tem que trocar os símbolos && por or . Faça um teste; veja se isso funciona.

É verdade, também, que há um evidente erro de sintaxe em seu if, com o Thiago já falou: o certo é if(campo1== "," or campo2== "," etc

Teste aí e nos diga se resolveu.
Thiago Vaini
Re: Substituir campo com "," por "0,00"
07 de May de 2012 às 05:05PM
extao Jayme

o certo seria entao

if (campo1 == ',' || campo2 ==',', etc)
Marcos Regis
Re: Substituir campo com "," por "0,00"
07 de May de 2012 às 06:04PM
Segue uma forma simples.


function preenchezeros() {
var campos = document.getElementsByTagName('input');
for(var i=0;i<campos.lenght;i++){
if(campos[i].type=='text' && campos[i].value==','){campos[i].value='0,00';}
}
}
Priscila
Re: Substituir campo com "," por "0,00"
08 de May de 2012 às 04:30PM
Jayme e Thiago,

Fiz as alterações e deu certo mas tem um porém. Ele faz a substituição mas se eu deleto algum valor e fica somente a vírgula ele coloca o valor 0,00 em todos os campos novamente. Ficando assim: 00,0000

Ele está concatenando os valores 0,00 duas vezes. Se eu deletar novamente, ele concatena novamente.

Se não deu para entender tem o exemplo na prática: www.blushweb.com.br/ix/admin

Login e senha: admin

Marcos,

Testei tb a sua função e não funcionou.

Obrigada!
Marcos Regis
Re: Substituir campo com "," por "0,00"
08 de May de 2012 às 04:41PM
Hmmmm, tem um erro de digitação.


function preenchezeros() {
var campos = document.getElementsByTagName('input');
for(var i=0;i<campos.length;i++){
if(campos[i].type=='text' && campos[i].value==','){campos[i].value='0,00';}
}
}

eu sempre troco length por lenght. Deve ser dislexia.
Priscila
Re: Substituir campo com "," por "0,00"
08 de May de 2012 às 05:46PM
Marcos,

Agora funcionou!

Obrigada!

Ficou até melhor que a função que eu tinha começado.

Agora está tudo certo!

Obrigada mais uma vez!
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.