Ir para conteúdo
Fórum Script Brasil
  • 0

Refresh Na Pagina Ao Selecionar Tal Item


frnd

Pergunta

Em uma pagina há uma lista de areas de atuação de empregos e outra lista com as vagas daquelas atuação

Queria saber como faz para que quando o usuário clicar em um item na lista do select da area de atuação a pagina AUTOMATICAMENTE dá um refresh e mostra o resultado referente na lista de vagas...

Obrigado..

[]s

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Bom...

O funcionamento da página é assim... existem 2 select name="" e um textarea...

no primeiro select name existem todas as areas de atuação de empregos, no segundo existe as vagas de empregos daquelas atuação selecionada primeiramente... e por ultimo quando selecionado a vaga abaixo aparecerá a descrição da mesma.

Eu utilizei como foi dito na resposta acima, mas só mostra uma área e não mostra as vagas abaixo

<form name="areasatuacao" class="frmAreaAtuacao">
          <select name="area" class="formAreaAtuacao" onchange="location.href=this.value">
           <?php  require_once("../biblioteca/connectmysql.php");?>
               <? $dados = mysql_query("SELECT area FROM areaatuacao") or die (mysql_error());
               while ($linha = mysql_fetch_array($dados))
                {   
                    $dados = $linha['$area'];
                    $dados = $linha['$idareaatuacao'];
                    echo "<option value=\"".$linha['idareaatuacao']."\">".$linha['area']."</option>"; 
                }
          ?>
          </select>
          </form>
        </div>
        <div class="titformempregosarea">
        Vagas Dispon&iacute;veis de Empregos de acordo com a &aacute;rea selecionada acima:
        </div>
        <div class="formconteudopopupvagasempregos">
        <form name="empregosarea" class="frmEmpregosArea">
          <select name="emprego" class="formEmpregosArea">
              <? $dados = mysql_query("SELECT titulo FROM vaga where idareaatuacao='$idareaatuacao'") or die (mysql_error());
               while ($linha = mysql_fetch_array($dados))
                {   
                    $dados = $linha['$descricao'];
                    $dados = $linha['$idvaga'];
                    echo "<option value=\"".$linha['idvaga']."\">".$linha['titulo']."</option>"; 
                }      
          
          ?> 
          
          </select>
          </form>
        </div>
         <div class="titformempregosarea">
        Descri&ccedil;&atilde;o do emprego selecionado acima:
        </div>
        <div class="formconteudopopupvagasempregos">
        <form name="descvagas" class="frmDescVaga">
            <? $dados = mysql_query("SELECT descricao FROM vaga where idvaga='$idvaga'") or die (mysql_error());
               while ($linha = mysql_fetch_array($dados))
                {   
                    echo "<textarea name=\"".$linha['idvaga']."\" rows=\"5\" cols=\"35\">".$linha['descricao']."</textarea>"; 
                }      
          
          ?>

Eu utilizo o onchange no primeiro, e no segundo no caso, mas o que eu passo no javascript do onchange?

[]s

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, vou facilitar um pouco....

quero que um select name="" passe um valor para que o outro select name abaixo dele mostre os dados referentes ao primeiro..

fiz no primeiro da seguinte maneira

<select name="areaatuacao" onchange="javascript.submit();">

Mas o segundo select name não está sendo preenchido, e agora?

[]s2

Link para o comentário
Compartilhar em outros sites

  • 0

Bom... eu usei mesmo exemplo para cidade/estado, mas o resultado(vagas de empregos) não aparece após selecionar a área de atuação.. oque pode ser? o parametro não está trazendo valor algum?

index.php

<?
//CONECTA AO MYSQL
  require_once("../biblioteca/connectmysql.php");

//PEGA AS AREAS 
$sql = "          
        SELECT idareaatuacao, area FROM areaatuacao ORDER by area "; 

//EXECUTA A QUERY               
$sql = mysql_query($sql);       

$row = mysql_num_rows($sql); ?>

<script language="JavaScript">

   function Dados(valor) {
      //verifica se o browser tem suporte a ajax
      try {
         ajax = new ActiveXObject("Microsoft.XMLHTTP");
      } 
      catch(e) {
         try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch(ex) {
            try {
               ajax = new XMLHttpRequest();
            }
            catch(exc) {
               alert("Esse browser não tem recursos para uso do Ajax");
               ajax = null;
            }
         }
      }
      //se tiver suporte ajax
      if(ajax) {
         //deixa apenas o elemento 1 no option, os outros são excluídos
         document.forms[0].listvagas.options.length = 1;
         
         idOpcao  = document.getElementById("opcoes");
         
         ajax.open("POST", "vagas.php", true);
         ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
         
         ajax.onreadystatechange = function() {
            //enquanto estiver processando...emite a msg de carregando
            if(ajax.readyState == 1) {
               idOpcao.innerHTML = "Carregando...!";   
            }
            //após ser processado - chama função processXML que vai varrer os dados
            if(ajax.readyState == 4 ) {
               if(ajax.responseXML) {
                  processXML(ajax.responseXML);
               }
               else {
                   //caso não seja um arquivo XML emite a mensagem abaixo
                   idOpcao.innerHTML = "--Primeiro selecione o area de atuação--";
               }
            }
         }
         //passa o código da area escolhida
         var params = "area="+valor;
         ajax.send(params);
      }
   }
   
   function processXML(obj){
      //pega a tag vaga
      var dataArray   = obj.getElementsByTagName("vaga");
      
      //total de elementos contidos na tag vaga
      if(dataArray.length > 0) {
         //percorre o arquivo XML paara extrair os dados
         for(var i = 0; i < dataArray.length; i++) {
            var item = dataArray[i];
            //contéudo dos campos no arquivo XML
            var codigo    =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;
            var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;
            
            idOpcao.innerHTML = "--Selecione uma das opções abaixo--";
            
            //cria um novo option dinamicamente  
            var novo = document.createElement("option");
                //atribui um ID a esse elemento
                novo.setAttribute("id", "opcoes");
                //atribui um valor
                novo.value = codigo;
                //atribui um texto
                novo.text  = descricao;
                //finalmente adiciona o novo elemento
                document.forms[0].listvagas.options.add(novo);
         }
      }
      else {
        //caso o XML volte vazio, printa a mensagem abaixo
        idOpcao.innerHTML = "--Primeiro selecione a area de atuacao--";
      }      
   }

</script>

<html>
   <head>
      <title>Vagas de Empregos</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   </head>
   
   <body bgcolor="#FFFFFF">
      <form name="frmAjax">
         Area:&nbsp;
         <select name="listareas" onChange="Dados(this.value);">
            <option value="0">--Selecione a area de atuacao >></option>
            <? for($i=0; $i<$row; $i++) { ?>
               <option value="<? echo mysql_result($sql, $i, "idareaatuacao"); ?>">
               <? echo mysql_result($sql, $i, "area"); ?></option>
            <? } ?>
         </select>
      
         <br><br>
         Vagas:&nbsp;
         <select name="listvagas">
            <option id="opcoes" value="0">Primeiro selecione a area de atuacao</option>
         </select>
      </form>
   </body>
</html>
vagas.php
<?
//CONECTA AO MYSQL
require_once("../biblioteca/connectmysql.php");
//RECEBE PARÃMETRO                     
$area = $_POST["area"];           
//QUERY  
$sql = " 
       SELECT a.idvaga, a.vaga    
        FROM  vagas a                    
        WHERE a.idareaatuacao = ".$area."  
        ORDER BY a.area";            
//EXECUTA A QUERY               
$sql = mysql_query($sql);       
$row = mysql_num_rows($sql);    

//VERIFICA SE VOLTOU ALGO 
if($row) {                
   //XML
   $xml  = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
   $xml .= "<vaga>\n";               
   //PERCORRE ARRAY            
   for($i=0; $i<$row; $i++) {  
      $codigo    = mysql_result($sql, $i, "idvaga"); 
      $descricao = mysql_result($sql, $i, "vaga");
      $xml .= "<vaga>\n";     
      $xml .= "<codigo>".$codigo."</codigo>\n";                  
      $xml .= "<descricao>".ucfirst(strtolower($descricao))."</descricao>\n";         
      $xml .= "</vaga>\n";    
   }//FECHA FOR                 
   
   $xml.= "</vaga>\n";
   
   //CABEÇALHO
   Header("Content-type: application/xml; charset=iso-8859-1"); 
}//FECHA IF (row)                                               

//PRINTA O RESULTADO  
echo $xml;            
?>

Editado por andreia_sp
Novamente... use tags para códigos!
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...