Array
(
)

Ajuda problemas com combobox em ASP

Fernando Stalliviere
   - 27 jan 2012

Amigos, preciso de uma ajuda.
Não sei mais o que fazer. Tenho o combo funcionando perfeitamente no IE mas no Firefox ele perde os dados. Já tentei de tudo, alguém poderia me ajudar... meu chefe tá me pressionando diariamente...rsrsrsrs
Abaixo, segue o codigo
#Código


<%
#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 />
<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>
<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>
<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>


E este alimenta o combo:

<!-- #include file=includes/adovbs.asp -->
<!-- #include file=includes/functions.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>