Combo com mensagem "Carregando"
Ola amigos, estou tendo um problema com um site de um cliente que estou desenvolvendo... Vejam o codigo:
AJAX.ASP
===============================================
<%@ Language=VBScript %>
<HTML>
<HEAD>
<script>
// A função abaixo pega a versão mais nova do xmlhttp do IE e verifica se é Firefox. Funciona nos dois.
function createXMLHTTP()
{
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
try
{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
alert(ajax);
}
catch(ex)
{
try
{
ajax = new XMLHttpRequest();
}
catch(exc)
{
alert("Esse browser não tem recursos para uso do Ajax");
ajax = null;
}
}
return ajax;
}
var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"];
for (var i=0; i < arrSignatures.length; i++) {
try {
var oRequest = new ActiveXObject(arrSignatures*);*
* return oRequest;*
} catch (oError) {
}
}
* throw new Error("MSXML is not installed on your system.");*
* } function recuperarCarro(sTipo)*
{
// Criação do objeto XMLHTTP
var oHTTPRequest = createXMLHTTP();
// Abrindo a solicitação HTTP. O primeiro parâmetro informa o método post/get
// O segundo parâmetro informa o arquivo solicitado que pode ser asp, php, txt, xml, etc.
// O terceiro parametro informa que a solicitacao nao assincrona,
// Para solicitação síncrona, o parâmetro deve ser false
oHTTPRequest.open("post", "executa.asp", true);
*// Para solicitações utilizando o método post, deve ser acrescentado este cabecalho **HTTP*
oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
// A função abaixo é executada sempre que o estado do objeto muda (onreadystatechange)
oHTTPRequest.onreadystatechange=function() {
// O valor 4 significa que o objeto já completou a solicitação
if (oHTTPRequest.readyState==4){
// Abaixo o texto é gerado no arquivo executa.asp e colocado no div
document.all.divCarros.innerHTML = oHTTPRequest.responseText;
}
}
// Abaixo é enviada a solicitação. Note que a configuração
// do evento onreadystatechange deve ser feita antes do send.
oHTTPRequest.send("tipo=" + sTipo);
}
* </script>*
* </HEAD>*
* <body onload="recuperarCarro(document.formulario.cmbTipo.value)">*
* <form id="formulario" name="formulario">*
* <table border="0">*
* <tr>*
* <td>Escolha uma marca:</td>*
* <td>*
* <select name="cmbTipo" id="cmbTipo" onchange="recuperarCarro(this.value)" style="WIDTH:200px">*
<%
Dim oConn, oRS
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("banco.mdb")
set oRS = oConn.Execute("SELECT FROM tb_marca ORDER BY 2")*
while not oRS.eof
Response.Write "<option value=" & oRS(0) & ">" & oRS(1) & "</option>"
oRS.movenext
wend
%>
* </select>*
* </td>*
* </tr>*
* <tr>*
* <td>Carro:</td>*
* <td><div id="divCarros"></div>*
* </td>*
* </tr>*
* </table>*
* </form>*
* </body>*
*</HTML>*
===============================================
EXECUTA.ASP
===============================================
<select name="cmbCarros" id="cmbCarros" style="width:100%;">
<%
Dim oConn, oRS
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("banco.mdb")
set oRS = oConn.Execute("SELECT FROM tb_carros where tipo = " & Request.Form("tipo") & " ORDER BY 2")*
while not oRS.eof
Response.Write "<option value=" & oRS(0) & ">" & server.HTMLEncode(oRS(2)) & "</option>"
oRS.movenext
wend
%>
*</option>*
*</select>*
===============================================
Gostaria que quando ele selecionasse a MARCA aparecesse a mensagem "Carregando" ou "Aguarde" no combo CARRO, assim ele só conseguiria selecionar algum CARRO quando realmente tivesse.
O que eu queria seria a mesma coisa que acontece nesse site: http://www.telelistas.net/2/24_PA/50725_aparecida
Veja que quando você escolhe um determinado estado, o combo cidade fica readonly com a mensagem "Aguarde".
Alguém pode ajudar como fazer? Desde ja agradeco
Discussão (5)
Carregando comentários...