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

(Resolvido) Combo Quadruplo


Magos Leandro

Pergunta

Boa tarde pessoal,

Estou tentando fazer um "combo quadruplo" com ajax, sendo que eles são carregados dinamicamente a medida que o combo superior é selecionado, até o terceiro nivel esta funcioando OK, porém quando eu no terceiro combo seleciono para carregar o quarto ele da erro "objeto esperado". Segue abaixo o codigo dos arquivos:

Aquivo busca2.asp

<%

tipo = Request.QueryString("tipo")

%>
<HTML>
            <HEAD>
&lt;script language="javascript" type="text/javascript">

function getXMLHTTP() { //fuction to return the xml http object
        var xmlhttp=false;    
        try{
            xmlhttp=new XMLHttpRequest();
        }
        catch(e)    {        
            try{            
                xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e){
                try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                }
                
                catch(e1){
                    xmlhttp=false;
                }
            }
        }
             
        return xmlhttp;
    }
    
    function getState(countryId) {        
        
        var strURL="findState.asp?country="+countryId;
        var req = getXMLHTTP();
        
        if (req) {
            
            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    // only if "OK"
                    if (req.status == 200) {                        
                        document.getElementById('statediv').innerHTML=req.responseText;                        
                    } else {
                        alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                    }
                }                
            }            
            req.open("GET", strURL, true);
            req.send(null);
        }        
    }
    
    
    
    
    function getCity(countryId,stateId) {        
        var strURL="findCity.asp?country="+countryId+"&state="+stateId;
        var req = getXMLHTTP();
        
        if (req) {
            
            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    // only if "OK"
                    if (req.status == 200) {                        
                        document.getElementById('citydiv').innerHTML=req.responseText;                        
                    } else {
                        alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                    }
                }                
            }            
            req.open("GET", strURL, true);
            req.send(null);
        }
        
        
        
        function getRota(CoordID) {        
        var strURL="findRota.asp?coordid="+CoordID;
        var req = getXMLHTTP();
        
        if (req) {
            
            req.onreadystatechange = function() {
                if (req.readyState == 4) {
                    // only if "OK"
                    if (req.status == 200) {                        
                        document.getElementById('rotadiv').innerHTML=req.responseText;                        
                    } else {
                        alert("There was a problem while using XMLHTTP:\n" + req.statusText);
                    }
                }                
            }            
            req.open("GET", strURL, true);
            req.send(null);
        }
        
        }        
    }
</script>
            </HEAD>

 <body>





<%
Set Conexao2 = Server.CreateObject("ADODB.Connection")
Conexao2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("regionais.xls") & ";Extended Properties=""Excel 8.0;HDR=Yes;"";"
Set excel = Conexao2.Execute("SELECT * FROM [Sheet1$] order by regiao asc")
%>

<%
Set Conexao4 = Server.CreateObject("ADODB.Connection")
Conexao4.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("rotas.xls") & ";Extended Properties=""Excel 8.0;HDR=Yes;"";"
Set excel4 = Conexao4.Execute("SELECT * FROM [Sheet1$] order by nome asc")
%>

<form name="form1" action="lista_clientes.asp" method="post" target="_blank">

<input type="hidden" name="planilha" value="<%=tipo%>.xls">


  <table width="100%" border="0">
    <tr> 
      <td><strong><font color="#000099" size="2" face="trebuchet MS, verdana"> 
        <h3>Filtros:</h3>
        </font></strong></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr> 
      <td><strong><font color="#000099" size="2" face="trebuchet MS, verdana">Unidade:</font></strong></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr> 
      <td colspan="3" bgcolor="#F2F2F2"> <select name="country" onChange="getState(this.value)">
        <option value="">Selecione a Regional</option>
          <%

while not excel.eof
nome=excel("regiao")
valor=excel("valor")

response.write "<option value=" & valor & ">" & nome &"</option>"
    excel.movenext
    i = i+1
        wend
conexao2.close
%>
        </select> </td>
    </tr>
    <tr> 
      <td><strong><font color="#000099" size="2" face="trebuchet MS, verdana">UO/Divisão:</font></strong></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr bgcolor="#F2F2F2"> 
      <td colspan="3"> 
      <div id="statediv"><select name="state" >
    <option>Selecione a Regional</option>
        </select></div>
      
      </td>
    </tr>
    <tr>
      <td><strong><font color="#000099" size="2" face="trebuchet MS, verdana">Coordenador:</font></strong></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr bgcolor="#F2F2F2"> 
      <td><div id="citydiv"><select name="city">
    <option>Selecione a UO</option>
        </select></div></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr> 
      <td><strong><font color="#000099" size="2" face="trebuchet MS, verdana">Vendedor:</font></strong></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr bgcolor="#F2F2F2"> 
      <td colspan="3">
      
      
      <div id="rotadiv"><select name="rzona">
    <option>Selecione o Coordenador</option>
        </select></div>

      
       </td>
    </tr>
    <tr> 
      <td><strong><font color="#000099" size="2" face="trebuchet MS, verdana">Quantidade 
        de Clientes:</font></strong></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr bgcolor="#F2F2F2"> 
      <td colspan="3"> <input name="quantidade" type="text" id="quantidade" value="20" size="3" maxlength="3"> 
      </td>
    </tr>
    <tr> 
      <td> </td>
      <td> </td>
      <td> </td>
    </tr>
    <tr> 
      <td><input type="submit" name="Submit" value="Enviar"></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr> 
      <td> </td>
      <td> </td>
      <td> </td>
    </tr>
    <tr> 
      <td><a href="java script:history.back(-1);"><img src="index_files/voltar.gif" width="85" height="39" border="0"></a></td>
      <td> </td>
      <td> </td>
    </tr>
    <tr> 
      <td> </td>
      <td> </td>
      <td> </td>
    </tr>
    <tr> 
      <td> </td>
      <td> </td>
      <td> </td>
    </tr>
  </table>
</form>
</html>
Aqui o arquivo findCity.asp:
<%
country = request.QueryString("country")
stateid = request.QueryString("state")

%>
<select name="city" onchange="getRota(this.value)">
<option>Selecione a UO</option>
            <%

Set Conexao3 = Server.CreateObject("ADODB.Connection")

Conexao3.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("coordenadores.xls") & ";Extended Properties=""Excel 8.0;HDR=Yes;"";"

sql3 = "SELECT * FROM [Sheet1$] where uo =" & stateid &""
response.Write(sql3)

Set excel = Conexao3.Execute(sql3)

        while not excel.eof
        nome=excel("coord")
        leozim=excel("valor")
response.write "<option value=" & leozim & ">" & nome &"</option>"
    excel.movenext
    i = i+1
        wend
conexao3.close

            %>
</option>
</select>
e finalmente o arquivo que lista as o conteúdo do ultimo combo (findRota.asp).
<%
coordcod = request.QueryString("coordid")
%>
<select name="rzona">
<option>Selecione a Rota</option>
            <%

Set Conexao3 = Server.CreateObject("ADODB.Connection")

Conexao3.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("rotas.xls") & ";Extended Properties=""Excel 8.0;HDR=Yes;"";"

sql3 = "SELECT * FROM [Sheet1$] where coordcod =" & coordcod &""
response.Write(sql3)

Set excel = Conexao3.Execute(sql3)

        while not excel.eof
        nome=excel("nome")
        
response.write "<option value=" & nome & ">" & nome &"</option>"
    excel.movenext
    i = i+1
        wend
conexao3.close

            %>
</option>
</select>

Onde esta

"porém quando eu no terceiro combo seleciono para carregar o terceiro ele da erro "objeto esperado".

Leia-se

"porém quando eu no terceiro combo seleciono para carregar o quarto ele da erro "objeto esperado".

Editado por Magos Leandro
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

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