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

Combobox com AJAX nào funciona no Mozilla ajuda


stallivieri

Pergunta

Senhores, boa tarde!

Estou quebrando a cabeça com uma combobox.

Ao selecionar Estados a combobox busca do banco SQL as cidades. No Internet explorer ela funciona perfeito me retornando o resultado da cidade escolhida quando clico no botão.

Meu problema é quando faço a consulta com o Firefox. Ela não pega o filtro da cidade e acaba listando todos os hoteis das cidades do Estado.

Não sei mais o que fazer. Alguém poderia me ajudar? Segue abaixo o código utilizado.

Código do Combobox:

<%
'#Função que tira todos os acentos das palavras
function TiraAcento(StrAcento)
for i = 1 to len(StrAcento) 
Letra = mid(StrAcento, i, 1)
Select Case Letra
Case "á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"
Letra = "A"
Case "é","É","ê","Ê","Ë","ë","È","è"
Letra = "E"
Case "í","Í","ï","Ï","Ì","ì"
Letra = "I"
Case "ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"
Letra = "O"
Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"
Letra = "U"
Case "ç","Ç"
Letra = "C"
Case "não"
Letra = "N"
End Select
texto = texto & Letra
next
TiraAcento = texto
end function 

%>
<link href="css/filtrohoteis.css" rel="stylesheet" type="text/css" />
&lt;script language="javascript">

function setPlano(objStatus) {
    document.all.item("divVarPlano").style.visibility = objStatus;
}

function SubmitState(iState) {
    document.hoteis.VARESTADO.selectedIndex = iState;
    if (frmCheck()) document.hoteis.submit();
}

function manda(){
var p = document.hoteis;
p.submit();
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}


// Função que verifica se os campos do formulário estão em branco.
function valida_campo() 
    { 
    var nomehotel = document.busca_nome.nomehotel.value
    if (nomehotel=="") 
    {alert("O campo está vazio. É obrigatório o preenchimento do campo..."); 
    document.busca_nome.nomehotel.focus() 
    return false 
        } 
    }
    
    function GetXMLHttp() {   
    if (navigator.appName == "Microsoft Internet Explorer") {   
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");   
    } else {   
        xmlHttp = new XMLHttpRequest();   
    }   
    return xmlHttp;   
}   
var mod = GetXMLHttp();   
  
function alimentarCombo(valor) {   
    mod.open("GET", "Carrega_ajax.asp?id="+valor+"", true);   
    mod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");   
    mod.onreadystatechange = function() {   
        if (mod.readyState == 4) {   
            document.getElementById("resultado").innerHTML = mod.responseText;   
        }   
    };   
    mod.send(null);   
}  


    
    
function valida_campo2() 
    { 
    var varestado = document.busca_hoteis.varestado.value
if(form.busca_hoteis.selectedIndex > 0) 
{ 
// an option has been selected } else { // no option selected 
}}
</script>
<table width="214" border="0" cellpadding="0" cellspacing="6">
<form name="busca_nome" method="post" action="resultado_busca_nome_hotel.asp">
<tr>
<td><img src="imagens/titulos/titulo_nomehotel.png" width="97" height="10" alt="PAis" /></td>
</tr>
<tr>
  <td><input name="nomehotel" type="text" class="" id="Hotel" size="28"/> 
  </td>
</tr>
<tr>
<td valign="0"><label><input name="Submit" type="image"  onClick="return valida_campo();" value="Ok" src="imagens/master/botao_buscar.png">
        </label>
</td>
</tr>
</form>
</table>
<br />
<table width="" border="0" cellpadding="0" cellspacing="0">
<form name="buca_hoteis" method="post" action="resultado_hoteis.asp">
<tr>
<td><img src="imagens/titulos/tit_hotel_pais.png" width="25" height="13" alt="PAis" />
</td>
<td> </td>
<td>
<select name="select" class="input" id="select" onchange="MM_jumpMenu('parent',this,0)">
                  <option value="" selected="selected">Brasil</option>
                  <option value="portugal.asp">Portugal</option>
                  <option value="rede_internacional.asp">Rede Internacional</option>
</select>
</td>
</tr>
<tr>
<td><img src="imagens/titulos/tit_hotel_estado.png" width="45" height="10" alt="estado" /></td>
<td> </td>
<td>
        <select name="varestado" class="input" id="varestado" onchange="alimentarCombo(this.value);">
                    <option value="AL">Alagoas</option>
<option value="AP">Amapá</option>
                    <option value="AM">Amazonas</option>
                    <option value="BA">Bahia</option>
<option value="CE">Ceará</option>
                    <option value="DF">Distrito Federal</option>
<option value="ES">Espírito Santo</option>
<option value="GO">Goiás</option>
<option value="MA">Maranhão</option>
                    <option value="MT">Mato Grosso</option>
                    <option value="MS">Mato Grosso do Sul</option>
                    <option value="MG">Minas Gerais</option>
<option value="PA">Pará</option>
<option value="PB">Paraíba</option>
<option value="PR">Paraná</option>
                    <option value="PE">Pernambuco</option>
<option value="PI">Piauí</option>
                    <option value="RJ">Rio de Janeiro</option>
                    <option value="RN">Rio Grande do Norte    </option>
                    <option value="RS">Rio Grande do Sul</option>
<option value="RO">Rondônia</option>
                    <option value="RR">Roraima</option>
                    <option value="SC">Santa Catarina</option>
<option value="SP">São Paulo</option>
                    <option value="SE">Sergipe</option>
                    <option value="TO">Tocantins</option>
                    <option value="00" selected>Todos</option>
</select>
</td>
</tr>
<tr>
<td><img src="imagens/titulos/tit_hotel_cidade.png" width="44" height="10" alt="Cidade" /></td>
<td> </td>
<td> <div id="resultado"></div>   </td>
</tr>
<tr>
<td><img src="imagens/titulos/tit_hotel_plano.png" width="38" height="10" alt="Plano" /></td>
<td> </td>
<td><select name="varplano" class="input" id="varplano">
                <option value="1">VIP / Master</option>
                <option value="2">Gold VIP / Gold Master</option>
    </select>
</td>
</tr>
<tr>
<td colspan="3" align="right">
<label>
<input name="busca_hoteis" type="image" onClick="return valida_campo2();" value="Ok" src="imagens/master/botao_buscar.png">
</label></td>
</tr>
</form>
</table>

Ajax:

<link href="css/filtrohoteis.css" rel="stylesheet" type="text/css" />
&lt;script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-2285354-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
<!-- #include file="includes/advbs.asp" -->
<!-- #include file="includes/fnctions.asp"-->
<%

'Abre a conexão com o banco de dados
Set ConexaoSql = Server.CreateObject("ADODB.Connection")
ConexaoSql.Open (ConStr)
If Err.Number <> 0 Then
    ConexaoSql.close
    ConexaoSql.Open (ConStr2)
End if
ConexaoSql.cursorLocation = 3


        
    'Cria o objeto que executará um comando no banco de dados
    Set Comando = Server.CreateObject("ADODB.Command")
    Comando.ActiveConnection = ConexaoSql
    Comando.CommandText = "sp_Hoteis_HP_Cidades_Divisoes"
    Comando.CommandType = adCmdStoredProc
        
    'Primeiro parâmetro a ser criado é o de retorno "Return"
    Comando.Parameters.Append Comando.CreateParameter("Return", adInteger, adParamReturnValue)
    
    'Define os parâmetros de entrada        
    Comando.Parameters.Append Comando.CreateParameter("@in_tp", adInteger, adParamInput, 4, 0)

    Comando.Parameters.Append Comando.CreateParameter("@in_estado", advarchar, adParamInput, 3, request.queryString("id"))

    Comando.Parameters.Append Comando.CreateParameter("@in_plano", advarchar, adParamInput, 2, 0)

    'Cria o objeto que conterá os resultados da stored procedure
    Set rstConsultaRede = Server.CreateObject("ADODB.Recordset")

    'Executa o comando no banco de dados atribuindo à um Recordset
    Set rstConsultaRede= Comando.Execute        
            

 %>
<select name="varcidade" id="varcidade" class="input">    
    <% 
        
    Do While Not rstConsultaRede.EOF        
    %> 
            <option value="<%=rstConsultaRede("cid_hot")%>" ><%=rstConsultaRede("cid_hot")%></option>
            
    <% 
        rstConsultaRede.MoveNext         
        Loop
    %>    
</select>

Link para o comentário
Compartilhar em outros sites

2 respostass 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,5k
×
×
  • Criar Novo...