Jump to content

O IF está sempre a repetir a rotina


Manhunt
 Share

Recommended Posts

Boa tarde.

Venho aqui, pois estou com um pequeno problema e não estou a perceber o que o origina...

Na realidade tenho um script em que consiste no seguinte:

function alertasagenda()
{

if (document.getElementById("estilo").value == "Reunião"){
txt +="<font size="1" color=red>";
document.getElementById("gen").value += txt;
}else if (document.getElementById("estilo").value == "Palestra"){
txt +="<font size="2" color=red>";
document.getElementById("gerar").value += txt;
}else{
txt +="Nenhum aviso!";
}

if (document.getElementById("imagem").value == "Imagem 1"){
txt +="<img src="aviso.png>"";
document.getElementById("gen").value += txt;
}else if (document.getElementById("imagem").value == "imagem 2"){
txt +="<img src="formacao.png">";
document.getElementById("gerar").value += txt;
}else{
txt +="Sem imagem!";
}
}

Isto é um pequeno trabalho que estou a fazer a nível pessoal.

A minha intenção passa por obter um determinado html dentro de uma textarea, só que não estou a ser bem sucedido, porque estou a repetir código. Suponham que selecciono o estilo 1 e a imagem 2, só meramente a titulo de exemplo, o resultado será este:

<font size="1" color=red><font size="1" color=red><img src="aviso.png>

Ou seja, o código repete-se, como se estivésse a correr sempre a mesma rotina desde o inicio do código.

E quanto mais IFs adicionar mais o código se repete e na realidade eu não queria que o código se repetisse.

Alguém consegue me explicar o que estou a fazer de errado?

Desde já obrigado.

Edited by Manhunt
Link to comment
Share on other sites

Tem em conta que ao fazeres o +=, o valor vai sempre acumulando. Noto que nao tens um "reset" da variavel txt nesse codigo, o que pode causar (caso nao o facas noutro lado) uma repeticao no valor a ser posto ca' para fora.

Para "piorar" pareces fazer tambem += (em vez de uma mera afectação) no campo valor do elemento com ID "gerar", potencialmente fazendo com que repitas ainda mais o que metes la' para dentro.

Edited by alexviseu
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.