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

(Resolvido) Ajax - vários combos


Rafael Spilki

Pergunta

Galera, tudo bem?

Olha só, ontem lembrei da Andreia... até dei um oi pra ela no MSN... já que pesquisando no google achei esse tutorial da própria...

http://scriptbrasil.com.br/forum/index.php?showtopic=121008

O tuto funciona perfeito... mas quando modifiquei pras minhas necessidades devo ter feito alguma M, porque não rolou!

Eu não sei se to me passando em algum detalhe... mas devo ta errando em algum lugar que não consigo ver...

Será que rola uma força?

Ficou assim:

centro_custos_funcoes.js

function RetornoAjax(id, url, container)
{
var xmlHttp=GetXmlHttpObject()

if (xmlHttp==null)
{
     alert ("Este browser não suporta HTTP Request")
     return
}

var url=url;
url=url+"?id="+id;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=function()
{
     if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
     {
         document.getElementById(container).innerHTML=xmlHttp.responseText
     }
}
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function GetXmlHttpObject()
{
var objXMLHttp=null

     if (window.XMLHttpRequest)
         objXMLHttp=new XMLHttpRequest()
     else if (window.ActiveXObject)
         objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")

return objXMLHttp
}
centro_custos_default.asp
<!--#include file="conexao_mysql.asp"-->

&lt;script src="centro_custos_funcoes.js" type="text/javascript"></script>


<%
Call AbrirDB_MySql
SQL_centro_custos_primario = "select * from centro_custos_primario order by setor asc"
set RS_centro_custos_primario = objConn_MySql.execute(SQL_centro_custos_primario)

%>
Primario:
<select name="codigo_centro_custos_primario" id="codigo_centro_custos_primario" onchange="RetornoAjax(this.value, 'centro_custos_secundario.asp', 'codigo_centro_custos_secundario')">

<option>Selecione um centro de custos primário</option>


<% while not RS_centro_custos_primario.eof 
codigo_setor = RS_centro_custos_primario("codigo_setor")
setor = RS_centro_custos_primario("setor")
%>
<option value="<%= codigo_setor %>"><%= setor%></option>
<% RS_centro_custos_primario.movenext
wend
%>
</select>


<br>
<br>

Secundario:
<select name="codigo_centro_custos_secundario" id="codigo_centro_custos_secundario" onchange="RetornoAjax(this.value, 'centro_custos_terciario.asp', 'codigo_centro_custos_terciario')"></select>

<br>
<br>

Terciario:
<select name="codigo_centro_custos_terciario" id="codigo_centro_custos_terciario"></select>

<%
Call FecharDB_MySql
%>
centro_custos_secundario.asp
<!--#include file="conexao_mysql.asp"-->

<%
Call AbrirDB_MySql

codigo_centro_custos_primario = request.querystring("codigo_centro_custos_primario")
'response.write codigo_centro_custos_primario
'response.end

SQL_centro_custos_secundario = "select * from centro_custos_secundario where relacionar_a = '"&codigo_centro_custos_primario&"' order by setor asc"
set RS_centro_custos_secundario = objConn_MySql.execute(SQL_centro_custos_secundario)

%>


<%while not RS_centro_custos_secundario.eof
codigo_centro_custos_secundario = RS_centro_custos_secundario("codigo_setor")
setor_centro_custos_secundario = RS_centro_custos_secundario("setor")

%>
<option value="<%=codigo_centro_custos_secundario%>"><%=setor_centro_custos_secundario%></option>
<%
RS_centro_custos_secundario.movenext
wend
%>

<%
Call FecharDB_MySql
%>
centro_custos_terciario.asp
<!--#include file="conexao_mysql.asp"-->

<%
Call AbrirDB_MySql

codigo_centro_custos_secundario = request.querystring("codigo_centro_custos_secundario")

SQL_centro_custos_terciario = "select * from centro_custos_terciario where relacionar_a = '"&codigo_centro_custos_secundario&"' order by setor asc"
set RS_centro_custos_terciario = objConn_MySql.execute(SQL_centro_custos_terciario)

%>


<%while not RS_centro_custos_terciario.eof
codigo_centro_custos_terciario = RS_centro_custos_terciario("codigo_setor")
setor_centro_custos_terciario = RS_centro_custos_terciario("setor")

%>
<option value="<%=codigo_centro_custos_terciario%>"><%=setor_centro_custos_terciario%></option>
<%
RS_centro_custos_terciario.movenext
wend
%>

<%
Call FecharDB_MySql
%>

Só um detalhe: as páginas "...secundario.asp" e "...terciario.asp", quando testadas em separado funcionam perfeitamente... da mesma forma como o primeiro list/menu de "...default.asp", ou seja, acho que to cometendo erro é no ajax mesmo...

Enfim... alguém sabe onde estou errando?

Editado por Rafael Spilki
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Galera, resolvi!

Problema 1) minha conexão com o banco, nos arquivos ...secundario.asp e ...terciario.asp dava conflito com o ...default.asp... alterei nomes de objeto de conexão...

Problema 2) o resgate estava por querystring, mas existia um problema no nome da viriavel... me parece que estava indo com uma codificação ao invés de limpa... simplesmente corrigi trocando por request.querystring(1) e era isso... nem fiz questão de corrigir o nome da variavel... pois no caso é so uma mesmo e nem importa...

Era isso! fica o registro...

[]'s Rafael Spilki

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...