Jump to content
foxymop

Manuseamento de forms

Recommended Posts

foxymop

Boas

tenho o seguinte form


<select  name="a0" id="units" onChange="adddesign()" >
<option value="SI">SI</option>
<option value="IMP">Imperial</option>
</select>


<select  name="a3d" id="design" onChange="adddesign()" >
<option value="dp">Design pressure</option>
<option value="dl">Design load</option>
<option value="dm">Design mass</option>
</select>

<input type="text"  id="desigType" value="σ" readonly align="middle">
<input type="text"  id="designunit" value="[MPa]" readonly align="middle">

E o seguinte script em java script


function adddesign()
{
	if(document.getElementById("units").value=="SI")
		{
			document.getElementById("lenghtunit").value="[mm]"
			document.getElementById("widthunit").value="[mm]"
			document.getElementById("heightunit").value="[mm]"

			if(document.getElementById("design").value=="dp")
				{
				document.getElementById("desigType").value="σ";
				document.getElementById("designunit").value="[Mpa]";
				}
			else if(document.getElementById("design").value=="dl")
				{
				document.getElementById("desigType").value="F";
				document.getElementById("designunit").value="[N]";
				}
			else(document.getElementById("design").value=="dm")
				{
				document.getElementById("desigType").value="m";
				document.getElementById("designunit").value="[Kg]";
				}
		}

	else
		{
			document.getElementById("lenghtunit").value="[inch]"
			document.getElementById("widthunit").value="[inch]"
			document.getElementById("heightunit").value="[inch]"

			if(document.getElementById("design").value=="dp")
				{
				document.getElementById("desigType").value="σ";
				document.getElementById("designunit").value="[Psi]";
				}
			else if(document.getElementById("design").value=="dl")
				{
				document.getElementById("desigType").value="F";
				document.getElementById("designunit").value="[lbf]";
				}
			else(document.getElementById("design").value=="dm")
				{
				document.getElementById("desigType").value="ma";
				document.getElementById("designunit").value="[lbs]a";
				}
		}
} 

A problema é que qualquer que seja a opção que eu escolha, SI ou IMP ele não lê bem o javascript e mostra-me o ressultado sempre do "ELSE", mesmo quando escolho uma opção que deviaria dar o resultados do IF ou ELSE IF.

O meu javascript tá um bocado enferrujado mas do que andei a estudar, não estou a ver onde possa tar o erro.

Obrigado

Share this post


Link to post
Share on other sites
herty

No javascript na primeira linha da tua função faz:

alert(document.getElementById("units").value);

E vê o valor que aparece quando fazes o onchange.

Share this post


Link to post
Share on other sites
foxymop

Aparece SI ou IMP dependendo da escolha

Fix o mesmo para o "design" e a janela criada mostra os values correctos.

Ou seja, ele tá a ler tudo bem.

Os values para lenghtunit, widthunit e heightunit, que eu não pus ai a mostrar no html, trocam dependendo da escolha SI ou IMP.

Ou seja, apenas o que está dentro do segundo IF (if, else if e else) é que não está a funcionar. Logo concluo que seja algo de errado que tenha feito ai na sintaxe, mas não estou a ver o quê...

Share this post


Link to post
Share on other sites
brunoais

Tens isto:

else(document.getElementById("design").value=="dm")

De certeza que ele n está a dar erro de sintaxe aqui?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
foxymop

Epá ca granda nabo!! Claro! Isso tudo que tá ai à frente do else não tá a fazer nada!

😳

Já agora, o java script lê "σ" de maneira diferente do html?

É que quando a pagina faz load, o

<input type="text"  id="desigType" value="σ" readonly align="middle">

mostra o simbolo do sigma bem.

Mas quando passa pelo javascript

 document.getElementById("desigType").value="σ";

Já so aparece σ mesmo escrito na text box...

Vou ler um bocado sobre isso, mas se alguem vir algum problema apite.

Mais uma vez obrigado pela ajuda.

Share this post


Link to post
Share on other sites
brunoais

O javascript converte tudo automaticamente. Usa o caracter correto na string. Não te esqueças de ter o ficheiro em UTF-8 W/O (sem) BOM.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
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

×
×
  • 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.