Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

Apredendo script

Recommended Posts

Ola pessoal, tenho um código e queria que alguem me explicasse o que esta ocorrendo:

 

<form name=form1>

<input type=radio name=r1 onclick="sistema=1">Windows 95<br>

<input type=radio name=r1 onclick="sistema=2" >Windows 98<br>

<input type=radio name=r1 onclick="sistema=3">Windows XP<br>

<input type=button value="escolhi" onclick="ver()">

</form>

 

<script Language="JavaScript">

sistema=""

 

/* porque eu tenho que declarar isso como uma varivel? Ele ja esta no meu form em cima com valor, onclick="sistema=1", não era para ir pro meu array direto? E se ja tem o [1],[2],[3] no meu array pra que coloca a opção sistema no meu form onclick="sistema=1 */

 

function ver(){

sistemas=new Array;

sistemas[1]="windows95"

sistemas[2]="windows98"

sistemas[3]="windows xp"

alert("o seu sistema é " + sistemas[sistema])

}

</Script>

 

Obrigado pessoal!

 

Marcelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando você envia este conteúdo com "onclick" sem declarar a variável, ele entenderá o conteúdo como string... ou seja, ao invés dele entender que o sistema é = a 1 ... ele entenderá tudo como uma coisa só: "sistema=1" (como se todo o texto fosse isso).

 

Para não ter a necessidade de declarar variável no bloco de código, passe o conteúdo de "sistema" como parâmetro de função:

<html>   <head></head>	   <body>	  <form name=form1>		 <input type=radio name=r1 onclick="sistema=1">Windows 95<br>		 <input type=radio name=r1 onclick="sistema=2" >Windows 98<br>		 <input type=radio name=r1 onclick="sistema=3">Windows XP<br>		 <input type=button value="escolhi" onclick="ver(sistema)">		 <!-- ao enviar o a variável como parâmetro de função "ver(sistema)" você ficará desobrigado de declarar a variável no bloco de função.-->	  </form>	  <script type="text/javascript">	  <!--		 function ver(sistema){//aqui a função pega o conteúdo enviado pelo form			sistemas=new Array;			sistemas[1]="Windows 95";			sistemas[2]="Windows 98";			sistemas[3]="Windows XP";			alert("o seu sistema é " + sistemas[sistema]);		 }	  -->	  </script>   </body></html>

Este é o modo mais correto para trabalhar com parâmetros.

 

Espero ter esclarecido a tua dúvida.

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Martinelli

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao escolher uma opção a variavel sistema ganha um valor que pode ser 1, 2 ou 3. Quando o botão escolhi é pressionado, ele envia o valor da variavel sistema para a função ver().

 

Na função ver(), um vetor é criado com as seguintes caracteristicas

 

Posição 0 = vazio

Posição 1 = Windows 95

Posição 2 = Windows 98

Posição 3 = Windows XP

 

Finalmente, ele exibe uma mensagem utilizando o vetor na posição indicada pela variavel sistema.

 

Pode-se concluir, que se o usuário clica direto no botão, nenhum valor será enviado para a função ver() e consequentemente, ocorrerá um erro pois não haverá nenhum valor no vetor na posição declarada correspondente.

 

F.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, eu fiz o que vocês dois falaram acima, coloquei sistema dentro da função como Martinelli falou e deu erro e coloquei a opção 0 como citado de Fleury para teste e deu erro também, veja:<form name=form1><input type=radio name=r1 onclick="sistema=0">Windows 95<br><input type=radio name=r1 onclick="sistema=1">Windows 95<br><input type=radio name=r1 onclick="sistema=2" >Windows 98<br><input type=radio name=r1 onclick="sistema=3">Windows XP<br><input type=button value="escolhi" onclick="ver()"></form><script Language="JavaScript">function ver(sistema){\*se ele nao funciona assim irei declarar a variavel sistema de novo com qualquer valor inicial*/sistemas=new Array;sistemas[0]="windows 0"sistemas[1]="windows95"sistemas[2]="windows98"sistemas[3]="windows xp"alert("o seu sistema é " + sistemas[sistema])}</Script>O que deve ser?Obrigado!Marcelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo, você não está enviado o valor da variável para a função ver().

<input type=button value="escolhi" onclick="ver()">
Veja que você só está chamando a função, sem passar nenhum parametro. Chame a função passando como parametro a variável, exemplo: ver(sistema)

=]

 

E uma coisa que vi.. um comentário com mais de uma linha no javascript, é feito com /* e */ e não com \* e */ ;)

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.