Jump to content
Fórum Script Brasil
  • 0

Combobox com AJAX nào funciona no Mozilla ajuda


stallivieri

Question

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

2 answers to this question

Recommended Posts

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