Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera o negócio é o seguinte!
Primeiramente boa tarde à todos.
Tenho um select quase vazio no html e desabilitado
<select name="subcategoria" disabled>
<option value="">Selecione</option>
</select>
Fiz o AJAX buscar os dados de uma categoria escolhida no evento onchange de outro select de nome categoria.
no AJAX não parece ter dado problema nenhum, pois se eu ponho ele pra dar um alert com todo o conteúdo que foi gerado no ASP ele mostra.
O conteúdo são vários <option value="numero">Algo escrito</option>.
Mas eu tentei fazer document.nomedoformulario.subcategoria.innerHTML = ajax.responseText e funciona no Firefox e não no Internet explorer!
ai vai o código:
HTML
<ul>
<form method="POST" action="actcadrec.asp"name="frmcadastro">
<li>Nome:<input type="text" name="nome">
<li>
Categoria:
<select name="categoria" onchange="loadSub()">
<option selected value=''>Selecione uma Categoria</option><option value='1'>Salgados</option><option value='2'>Doces</option><option value='3'>Diet</option><option value='4'>Bebidas</option>
</select>
</li>
<li>Subcategoria:
<select id="subcategoria" name="subcategoria" disabled>
<option value="" selected>Selecione uma Subcategoria</option>
</select></form>
</li>
</ul>
JavaScript
var action;
var page;
function requisicao(pagina,acao,var1,var2)
{
action = acao;
page = pagina;
try
{
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
try
{
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(ex)
{
try
{
ajax = new XMLHttpRequest();
}
catch(exc)
{
window.alert("Esse browser não suporta AJAX, ou seu JavaScript não está ligado!");
ajax = null;
}
}
}
if(ajax != null)
{
if (acao == "subcategoria")
{
metodo = "POST";
argsurl = "";
args = "acao=subcategoria&catcod=" + var1;
}
window.alert(metodo + "/" + pagina + "/" + args);
ajax.open(metodo,pagina + argsurl,true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
ajax.setRequestHeader("Pragma", "no-cache");
ajax.onreadystatechange = status;
ajax.send(args);
}
}
function status()
{
document.getElementById("loading").innerHTML = "Carregando...";
document.getElementById("loading").style.display = "block";
if(ajax.readyState == 4 && ajax.status == 200)
{
retorno(ajax.responseText);
}
}
function retorno(response)
{
if(action == "subcategoria")
{
document.frmcadastro.subcategoria.disabled = 0;
document.getElementById("subcategoria").innerHTML = response;
document.getElementById("loading").style.display= 'none';
window.alert(response);
}
}
function loadSub()
{
if(document.frmcadastro.categoria.selectedIndex == 0)
{
document.getElementById("subcategoria").innerHTML = "<option value='' selected>Selecione uma Subcategoria</option>";
document.frmcadastro.subcategoria.disabled=1;
}
else
{
requisicao('acaoAjax.asp','subcategoria',document.frmcadastro.categoria.selectedIndex);
}
}Valeu pessoal! espero que me ajudem, ficarei no aguardo!
Pelamor alguém me dá uma força ai!
tá f***!
valeu!
Carregando comentários...