Ir para conteúdo

POWERED BY:

Arquivado

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

CrazyLOL

[Resolvido] JavaScript

Recommended Posts

Bom dia galera, tentarei explicar qual é a minha duvida, vamos lá...

 

Primeiramente montei isso aqui em JavaScript:

 

Função Mudar():

function Mudar(){
indice_amigos = document.dados.amigos.selectedIndex; //pegar valor do amigo selecionado
var amigos_var = indice_amigos; //variavel para armazenar o valor que foi selecionado
indice_mae = document.dados.mae.selectedIndex; // 
var mae_var = indice_mae; //
}

 

E essas duas ComboBox

Você tem quantos amigos:<br>

<select name="amigos" onchange="Mudar();">
<option value="0">0
<option value="1">1
<option value="2">5
<option value="3">Mais de 10
</select>

Você mora com sua mãe:<br>

<select name="mae" onchange="Mudar();">
<option value="0">Sim
<option value="1">Nao
</select>

 

A minha ideia é o seguinte a pessoa vai selecionar quantos amigos que tem,e se mora com a sua mae, e teria um botao Escrito "Veja" , quando a pessoa clicar nesse botão deverá ver os valores que foram selecionado exemplo se o amigo_var = 3, e a resposta da mae = sim abra uma janela dizendo voce é solitario e etc...

 

a minha duvida em SI é de que forma eu faço essas comparações? preciso criar uma novo metodo e como ele seria, queria um exemplo de como ficaria a estrutura das comparações e do botao que iria chama-la...

 

Consegui ser claro na duvida? alguém poderia dar um Help?

 

Muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi direito, de acordo com as opções selecionadas você irá exibir um resultado sobre o perfil da pessoa.

 

Ao que parece você não utiliza nenhuma linguagem server-side. Se for esse o caso, as variáveis deverão ser salvas em cookies para que o calculo seja efetuado em uma nova janela (popup).

 

Quanto à como fazer as comparações, você deverá resgatar os valores salvos em cookie e calcular com base neles. Uma boa é fazer isso no evento onload da popup.

 

Outra dica é que o usuário já deverá clicar no botão, então não precisa chamar a função Mudar() no evento onchange de cada select, mas sim no onclick() do botão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Francis, obrigado pela explicação porém estou meio iniciando em javascript, e to meio 'leigo' no assunto to lendo umas apostilas aqui para ver se dou conta de montar isso.

Porém teria um exemplo de como iria ficar essa sugestão sua? para mim seguir como exemplo?

 

Agradeço muito a sua ajuda.. obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estava com pressa quando sugeri uso de cookies, talvez não seja necessário. O exemplo abaixo mostra como enviar dados de uma página para outra via método get e processar os valores em outra página com javascript.

index.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   <title>Exemplo</title>
 </head>
 <body>
   <form method="get" action="result.html">
     <p>
       Você conhece quantas linguagens de programação:
       <select name="languages">
         <option value="0">0</option>
         <option value="1">1</option>
         <option value="2">2</option>
         <option value="3">3</option>
       </select>
     </p>
     <p>
       <button type="submit" name="enviar" value="enviar">Calcular</button>
     </p>
   </form>
 </body>
</html>

 

result.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   <title>Exemplo</title>
   <script type="text/javascript">
     function processarQueryString() {
       Field = /languages\=[0-9]+/g.exec(document.location.href)[0];
       Opcao = /[0-9]+/g.exec(Field);

       if (Opcao == 0)
         Message = 'Estude, você precisa...'
       else if (Opcao == 1)
         Message = 'Bom para um iniciante'
       else if (Opcao == 2)
         Message = 'Programadorzinho'
       else if (Opcao == 3)
         Message = 'Agora pode procurar emprego...'
       else
         Message = 'Acesso inválido';
       document.getElementById('label').innerHTML = Message;
     }
   </script>
 </head>
 <body onload="processarQueryString();">
   <h1 id="label"></h1>
 </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Francis muito obrigado mesmo, deu pra mim ver como que é +/- porém não entendi essa parte "Field = /languages\=[0-9]+/g.exec(document.location.href)[0];

Opcao = /[0-9]+/g.exec(Field) " como disse a principio ainda estou lendo e tentando iniciar nesse novo mundão...

 

Mas no meu caso precisaria todos os codigos em um arquivo só, por que estarei colocando na pagina do facebook utilizando um app "Iframe", mas vou ver se dou conta de através desse codigo seu, montar o meu, obrigado novamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é uma expressão regular. Ela recupera o valor da querystring que eu queria processar, para entender melhor você terá que aprender expressões regulares.

No entanto disponibilizei abaixo uma função que permite recuperar qualquer valor de querystring baseado no nome do parametro:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   <title>Exemplo</title>
   <script type="text/javascript">
     function getQueryStringParam(paramName) {
       queryString = document.location.href.substr(document.location.href.indexOf('?') + 1);
       rawParams = queryString.split('&');
       params = new Array();
       for (param in rawParams) {
         paramValue = rawParams[param].split('=');
         params[paramValue[0]] = paramValue[1];
       }
       return params[paramName];
     }

     function processarQueryString() {
       /*Field = /languages\=[0-9]+/g.exec(document.location.href)[0];
       Opcao = /[0-9]+/g.exec(Field);*/
       Opcao = getQueryStringParam('languages');

       if (Opcao == 0)
         Message = 'Estude, você precisa...'
       else if (Opcao == 1)
         Message = 'Bom para um iniciante'
       else if (Opcao == 2)
         Message = 'Programadorzinho'
       else if (Opcao == 3)
         Message = 'Agora pode procurar emprego...'
       else
         Message = 'Acesso inválido';
       document.getElementById('label').innerHTML = Message;
     }
   </script>
 </head>
 <body onload="processarQueryString();">
   <h1 id="label"></h1>
 </body>
</html>

 

Apenas uma observação, dados enviados na querystring por método get, possum um tamanho limitado, 256 caracteres se não estou enganado.

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.