Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Ajax - vários combos


Rafael Spilki

Question

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?

Edited by Rafael Spilki
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...