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

Problemas com SELECT


_Guinho

Pergunta

Galera estou com um problema em um select:

Eu tenho um select que se chama id_estado, ao selecionar um estado ele automaticamente busca no bd o orgaos estaduais referente aquele estado, meu problema é:

após buscar os dados no banco o programa faz a validacao dos dados (em javascript) e se algum dado estiver errado ou em branco ele volta para a tela, com os dados anteriores, e com o estado selecionado so que o orgao estadual por sou vez fica em branco.

O formulário:

echo "<tr align='left'>";
       echo "<td>Estado:</td>";
       echo "<td>"; 
       echo "<select name='id_estado' onchange='list_dados( this.value )'>";
       echo "<option></option>";
           $sql_estado = mysql_query("SELECT * FROM estado ORDER BY estado");
        while ($result_sql_estado = mysql_fetch_assoc($sql_estado))
        {
        $result_id_estado = $result_sql_estado['id_estado'];
        $result_estado = $result_sql_estado['estado'];
            if ($id_estado == $result_id_estado)
            {
            echo "<option value='$result_id_estado' selected>$result_estado</option>";
            }
            else
            {
            echo "<option value='$result_id_estado'>$result_estado</option>";    
            }    
        }
       echo "</select>";
       echo "</td>";
       echo "</tr>";       
       
       echo "<tr align='left'>";
       echo "<td>Orgão</td>";
       echo "<td>"; 
       echo "<select name='id_estadual_orgao'>";
       echo "</select>";
       echo "</td>";
       echo "</tr>";
java script:
<script language="javascript">
function list_dados( valor )
{
http.open("GET", "consulta.php?id_estado=" + valor, true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}

function handleHttpResponse()
{
campo_select = document.forms[0].id_estadual_orgao;
    if (http.readyState == 4)
    {
    campo_select.options.length = 0;
    results = http.responseText.split(",");
        for( i = 0; i < results.length; i++ )
         {
         string = results[i].split( "|" );
            if (string[1] == document.forms[0].id_estadual_orgao.value)
             {
             campo_select.options[i] = new Option( string[0], string[1], false, true );
             }
             else
             {
            campo_select.options[i] = new Option( string[0], string[1]);
            }    
         }                                                                                           
     }
 }
var http = getHTTPObject();
</script>
Pagina onde busca os dados - PHP
$id_estado = $_GET["id_estado"];

$sql_estadual_orgao = mysql_query("SELECT * FROM estadual_orgao
                 WHERE estado_id_estado = '$id_estado'
                 ORDER BY estadual_orgao");
  

while($result = mysql_fetch_assoc($sql_estadual_orgao) )
{
echo $result["estadual_orgao"]."|".$result["id_estadual_orgao"].",";
}

Será que alguém pode me ajudar????

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Problema não há nenhum!

O programa esta "rodando" perfeitamente!

Mas o que eu quero, é deixar o segundo <select> selecionado, entende?

É assim:

Eu tenho um <select> chamado id_estado, quando eu seleciono um estado ele automaticamente busca no bd os orgaos estaduais, sem dar refresh na tela!

Após a pessoa preencher os campos, o formulário passa por uma validação(em javascript), se tiver algo errado aparece um alert e depois volta para o formulario, so que quando volta para o formulario o segundo <select>, orgaos estaduais, esta em branco, e o primeiro está preenhido!

Eu estou querendo que os dois <select>'s fiquem selecionados, entende?

Link para o comentário
Compartilhar em outros sites

  • 0

No meu caso eu faço tudo na mesma página!

O formulário a validação e a inserção no banco fica na mesma página, a única página que fica separada é a do AJAX, quando eu aperto o botao salvar ele submete pra mesma pagina e faz a validação.

E o segundo <select> é chamado quando o primeiro que é o de estado perde o focus (onChange), mas na segunda vez que a página carrega o estado não perder o focus, pois ele nem recebeu.

Tem como você me passar um exemplo?

_obrigadO

Link para o comentário
Compartilhar em outros sites

  • 0
Ninguém pode me ajudar?

Estou precisando muito!

Por favor!

alguém?

Up's ão são permitidos aqui no fórum, conforme a regra 3.8

3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.

Os posts com este objetivo serão excluídos !

Para modificar a opção selecionada, tente algo assim:

document.meu_formulario.meu_campo.selectedIndex = numero_opcao_selecionada

Mais informações aqui: http://www.criarweb.com/artigos/377.php

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