Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro_S

Função "genérica" para form

Recommended Posts

ah, ok...assim é mais fácil mesmo :)pra escrever o resultado na caixa de texto é assim:textObject.value=text??por exemplo, textSaida.value = variavel2;?

eu teria que fazer variavel = document.getElementById('nome do box')e depoistextvariavel.value = "o que eu quero que apareça"certo?ou então fazer diretodocument.getElementById('nome').value = "o que eu quero que apareça"pelo menos eu fiz assim e deu certo :)tá dando certo...por enquanto...já fiz o form com uma linha e 5 caixas (uma pra entrar o valor e as outras pra mostrar os resultados...)pus vários botoes, cada um chamando uma função, um chamando todas e um pra limpar os campos...agora vou testar com mais linhas...vou ter que colocar os cálculos todos de novo dentro das funçoes, mas com as outras caixas...ou tem um jeito melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você passa o ID do text que você quer calcular como parâmetro da função!

 

Assim você usa uma única função de cada cálculo para todos os elementos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é que os cálculos são diferentes de acordo com a variável...tiponão sei se alguém aqui joga Winning Eleven ou Pro Evolution Soccer...o que eu to querendo fazer é uma página onde o usuário coloca as habilidades de algum jogador, clica no botão e o javascript calcula como as habilidades ficariam com aquelas setinhas coloridas (vermelha, amarela, azul e cinza), que simulam a condição do jogador em cada partida...mas cada seta afeta cada habilidade de forma diferente...por exemplo, na seta vermelha, a habilidade de 'ataque' aumenta 12%, mas a velocidade aumenta 9% e outras aumentam 6%...o mesmo pras outras setas...então acho que o único jeito vai ser fazer as funções grandes mesmo...com os diferentes cálculos dentro...não sei se compensa fazer, por exemplo, 3 funções, sendo uma aumentando 12%, outra 9 e outra 6, e aí usar as diferentes habilidades como parametros...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tava falando com um amigo e ele deu a idéia de usar "if" dentro da funçãoeu poderia dividir as habilidades em grupos que são afetados da mesma formaaí colocariase o id for x, y, z, a, b ou c, faça tais contas e escreva os resultados em x1, x2, x3, y1, y2, y3, z1, z2 ...mas acho que não tem como fazer isso...ou tem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, boas notícias (ou pelo menos eu espero que sejam)conversando mais com o meu amigo, veio a idéia de usar algo como variavel = document.getElementById('id');for (var i=0;i<stat.length;i=i+5) { }(5 é um número de exemplo)e fazer "ifs" dentro do forse o i for igual a 0, 5, 15 ou 30, por exemplo, fazer as contas "bla bla bla"se for igual a 10, 20 ou 40, fazer "la la la la"se nao for nenhum dos outros, fazer "outra conta"e escrever nos inputs desejados, usando variavel[i+1], por exemplo...não sei se deu pra entender...hehe...vou testar aqui e espero que dê certo...depois volto pra contar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aeeeeeeeeeeeeee

 

deu certo!

 

fiz aquilo que eu tinha falado, mas usei o getElementsByTagName("input")

 

coloquei numa variável

 

e mandei dar loop com o for

 

aí, de acordo com o número do i, ele faz as contas...e escreve no [i+1], [i+2], [i+3] ou [i+4], dependendo da função...

 

amanhã ou depois (ou na segunda) vou terminar de fazer e posto aqui o código completo...

 

mas to muito feliz...eu achei que ia ter que fazer um .js imeeeeeeeeeeeeeeeeeeenso e ele ficou de um tamanho razoável, mas bem menor do que eu esperava :)

 

um muito obrigado a todos que me ajudaram http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá aí um exemplo da função que eu fiz

 

function Red(){var teste, resultado, soma, sum; teste = document.getElementsByTagName("input");  for (var i=0;i<teste.length;i=i+5)    {       if (i==0) {      resultado = parseFloat(teste[i].value)*112/100;      teste[i+4].value = Math.round(resultado);      }       else if (i==5) {      soma = parseFloat(teste[i].value)*109/100;      teste[i+4].value = Math.round(soma);      }       else if(i==10) {      sum = parseFloat(teste[i].value)*106/100;      teste[i+4].value = Math.round(sum);      }      }}

 

tem mais uma coisa que eu queria fazer...tem como mudar a cor do fundo ou do texto de uma caixa de texto? se tiver, como é possível? teria como eu mudar usando "if", tipo, se o valor for >=x, fica azul, se for >=y, fica vermelho e por aí vai?

Compartilhar este post


Link para o post
Compartilhar em outros sites

if (teste.value >=75) {

teste.stile.color = "cor desejada"

}

 

eu colocaria isso assim, mais ou menos?

 

(é "stile" mesmo? com i? não é "style"?)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedro, testa o comando antes de perguntar.

Dessa forma a gente evita dar respostas tão simples quanto um SIM.

 

OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok :)

 

já testei e não deu certo...

 

function Cor()//Assume: valor nas caixas//Retorna: cores correspondentes{var teste;teste = document.getElementsByTagName("input");for (var i=0;i<teste.length;i++)    {          if (teste[i].value >= 75) {       teste[i].style.color=green;       }    }

talvez seja porque não precisa do for?

 

EDIT

 

ou talvez porque eu não fechei a chave da função...haha...agora as outras voltaram a funcionar, mas essa não...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O FOR é necessário para percorrer o ARRAY de elementos encontrados.

 

<script>

 

function Cor(){

var teste = document.getElementsByTagName("input");

 

for (var i=0;i<teste.length;i++)

if (parseInt(teste.value) >= 75) teste.style.color="green";

}

 

</script>

 

<input type=text onblur="Cor();"/>

Compara as diferenças no código... OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, sim...o cabeção aqui esqueceu de dar o parse...agora tá funcionando belezabrigadão, cara!assim que eu terminar posto o link aqui pra galera ver como ficou

Compartilhar este post


Link para o post
Compartilhar em outros sites

www.cubomagico.110mb.com/stats.htmltá o resultado :)fiz também uma função que limita o valor nos campos em 99 e outra pra mudar a cor do fundo de acordo com o valor...e mais uma pra voltar a cor pra branco quando clica no "Clear"se alguém quiser ver o .js é só falar

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.