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>
<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".
Pergunta
Magos Leandro
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
Aqui o arquivo findCity.asp: e finalmente o arquivo que lista as o conteúdo do ultimo combo (findRota.asp).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 LeandroLink 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.