Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

saguluiz

Abrir uma div apartir de outra div

Recommended Posts

bom dia!

 

estou com o seguinte problema, tenho um codigo que funciona beleza, no IE, mas no Firefox o Chrome não tem como.

 

Assim, eu seleciono uma opção em um combo, ai ele mostra dentro deu uma div um outro combo,ai apartir dessa combo aberta eu tento chamar mais um combo que esta em outra div (ou seja, abre uma div apartir de outra div).

 

como disse no IE 100%, mas nos outro navegadores nem pensar em funcionar.

 

Se alguem ja passou por isso, me da um help, estou precisando muito disso.

 

Att

 

Silvio

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre o seu código.

 

e debugue com o console do Firefox Ctrl+Shift+J, corrija os erros q aparecer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa

 

entao usei o atalho para corrigir os erros, deixei ele sem errros, mas, ainda nao esta como eu quero.

 

entao tenho um combo que faz abrir uma div e nessa div tem outro combo, ao selecionar o q eu quero no segundo combo ele abre uma segunda div com mais um conteudo.

 

so que dai o segundo combo que esta na 1 primeira div, ao invez de ficar mostrando o valor selecionado, ele volta a mostrar carregando!

 

 

att

 

silvio

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostra o seu código, pois sem ver é impossível ajudarmos em algo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">

function pegaproduto() {
	document.getElementById("divmostra").style.display = '';
	xmlhttp.open("GET", "/request/categoria.asp?valor=" + document.getElementById('produto').value ,true);
	xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded; content="text/xml; charset=iso-8859-1');
	xmlhttp.onreadystatechange=function busca() { 
				document.getElementById('divmostra').innerHTML = 'carregando!'
	  if(xmlhttp.readyState == 4){
				document.getElementById('divmostra').innerHTML = xmlhttp.responseText;
			}}
		xmlhttp.send('vai'); 
}


function sabor() {
	xmlhttp.open("GET", "/request/quantsabor.asp?id=" + document.getElementById('tamanho').value ,true);
	xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded; content=""text/xml; charset=iso-8859-1');
	xmlhttp.onreadystatechange=function vai() { 
			document.getElementById('divquantsabor').innerHTML = '<img src=/images/loading.gif>'
	   if(xmlhttp.readyState == 4){
			document.getElementById('divquantsabor').innerHTML = xmlhttp.responseText
			}}
		xmlhttp.send(null);
}
</script>
</head>

<body>
<table border="1" cellspacing="5" cellpadding="0" width="100%">
   <form action="lista.asp">
     <tr>
       <td width="150">Produto: 
       	<div id="produtos">
         <select name="produto" id="produto" onchange="pegaproduto();">
         <option value="" selected="selected">Selecione</option>
         <%
         abre_conexao()
           Set rs = server.CreateObject("ADODB.Recordset")
               rs.open "SELECT categoria_id, categoria_descricao FROM CATEGORIA ORDER BY categoria_descricao",DB,3
                   if not rs.eof then
                       while not rs.eof
                           Response.write " <option value="""& RS("categoria_id") &""">"& RS("categoria_descricao") &"</script>" & vbcrlf
                       rs.movenext
                       wend
                   end if
               rs.close
           Set rs = nothing
         fecha_conexao()
         %>
         </select>
         </div></td>
       <td> 
       	<div id="divmostra"></div>
           <div id="divquantsabor"></div>
       </td>
     </tr>
     <tr>
     	<td></td>
       <td align="right"><input type="submit" name="add" id="add" style="display:none;" value="Adicionar produto" /></td>
     </tr>
     </form>
   </table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte:

 

function pegaproduto( valor ) {
               document.getElementById("divmostra").style.display = '';
               xmlhttp.open("GET", "/request/categoria.asp?valor=" + valor ,true);

e então em cada combo:

 

 

  <select name="produto" id="produto" onchange="pegaproduto( this.value );">

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu 'divmostra', também precisa ser argumento:

 

function pegaproduto( valor, alvo ) {
   var div = document.getElementById( alvo );

   div.style.display = '';
   xmlhttp.open("GET", "/request/categoria.asp?valor=" + valor ,true);

   xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded; content="text/xml; charset=iso-8859-1');
   xmlhttp.onreadystatechange=function busca() 
   { 
       div.innerHTML = 'carregando!'
       if(xmlhttp.readyState == 4)
       {
           div.innerHTML = xmlhttp.responseText;
       }
   }
   xmlhttp.send('vai'); 
}

e então você diferencia a chamada, para não sobrescrever a div do outro. Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

com aspas simples:

<select name="produto" id="produto" onchange="pegaproduto(this.value, 'divmostra');"> 

 

e no outro select, você altera o valor ali:

onchange="pegaproduto(this.value, 'divquantsabor');"

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu html está todo errado... você abriu <option> e fechou </script>...

<option value="3">Bebidas</script>

 

valide

http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Ftestesites.web200.uni5.net%2Frequest%2Fteste.asp

 

 

para o validador não olhar para os scripts, coloque eles entre:

<script type="text/javascript">
//<![CDATA[
  $(document).ready(function() {
  //seu script aqui




//]]>
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não declarou a variável xmlhttp. Atente para a primeira linha abaixo

var xmlhttp;
function pegaproduto() {
               document.getElementById("divmostra").style.display = '';
               xmlhttp.open("GET", "/request/categoria.asp?valor=" + document.getElementById('produto').value ,true);
               xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded; content="text/xml; charset=iso-8859-1');
               xmlhttp.onreadystatechange=function busca() { 
                                       document.getElementById('divmostra').innerHTML = 'carregando!'
                 if(xmlhttp.readyState == 4){
                                       document.getElementById('divmostra').innerHTML = xmlhttp.responseText;
                               }}
                       xmlhttp.send('vai'); 
       }


function sabor() {
               xmlhttp.open("GET", "/request/quantsabor.asp?id=" + document.getElementById('tamanho').value ,true);
               xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded; content=""text/xml; charset=iso-8859-1');
               xmlhttp.onreadystatechange=function vai() { 
                               document.getElementById('divquantsabor').innerHTML = '<img src=/images/loading.gif>'
                  if(xmlhttp.readyState == 4){
                               document.getElementById('divquantsabor').innerHTML = xmlhttp.responseText
                               }}
                       xmlhttp.send(null);
       }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.