Tatiana Carrazzoni Postado Janeiro 4, 2008 Denunciar Share Postado Janeiro 4, 2008 (editado) Tenho dois selects num fomurlário, um categoria e outro subcategoria.O campo subcategoria vai estar desabilitado até que selecione uma categoria.Depois de selecionar uma categoria, habilitar o select de subcategoria, carregando apenas as subcategorias relacionadas a categoria selecionada.Os dados estão no banco de dados, e as páginas são em php.A tabela categoria tem o seguintes campos: id, nomeA tabela subcategoria tem o seguintes campos: id_sub, nome, nome_sub (o campo nome vem da tabela categoria).Espero que alguém me ajude!! :mellow: Editado Janeiro 9, 2008 por Tatiana Carrazzoni Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 4, 2008 Denunciar Share Postado Janeiro 4, 2008 (editado) Oi Tatiana, tudo bom?Olha só, eu dei uma pesquisada na net sobre o disable, mas não achei como fazer para desabilitar inicialmente por html, o que seria o ideal.Mas eu fiz um scriptzinho de demonstração pra te mostrar o que deve fazer:<script> window.onload=function(){ document.getElementById("SubCategoria").disabled=true document.getElementById("Categoria").onchange=function(){ document.getElementById("SubCategoria").disabled=false if(this.selectedIndex==0) return document.getElementById("SubCategoria").disabled=true } } </script> <form> <select id="Categoria"> <option>---Escolha---</option> <option>Nike</option> <option>Fila</option> <option>Rainha</option> </select> <select id="SubCategoria"> <option>---Escolha---</option> <option>Branco</option> <option>Preto</option> <option>Azul</option> </select> </form>Ela é bem simples, ao termino do carregamento da página o javascript vai desabilitar a "SubCategoria" só habilitando quando for escolhido uma opção válida no primeiro select. Entende-se por opção válida qualquer uma que não seja a opção "---Escolha---".Existem outras formas de fazer, mas para o que precisa imagino que seja suficiente. você poderia esconder com "hidden" ou mesmo fazer por ajax, mas ae já complica um pouco.Kelabrasssss Editado Janeiro 4, 2008 por KaKarotto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tatiana Carrazzoni Postado Janeiro 9, 2008 Autor Denunciar Share Postado Janeiro 9, 2008 Olá KaKarotto!Entendi o código, mas preciso que os dados sejam buscados no banco de dados. Como faço isso??Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Janeiro 9, 2008 Denunciar Share Postado Janeiro 9, 2008 Tatiana, nesse caso você pode usar Ajax. De uma olhada na secao PHP que deve ter algum exemplo de Ajax com combos dinamicos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tatiana Carrazzoni Postado Janeiro 9, 2008 Autor Denunciar Share Postado Janeiro 9, 2008 Oi Andreia,Eu achei, só que só possui um select e o que eu procuro é um select depende do outro, como faço isso buscando dados no banco de dados?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Janeiro 9, 2008 Denunciar Share Postado Janeiro 9, 2008 Esse é com dois...http://www.revistaphp.com.br/artigo.php?id=22 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tatiana Carrazzoni Postado Janeiro 9, 2008 Autor Denunciar Share Postado Janeiro 9, 2008 (editado) ESerra,Desculpa, mas n consegui fazer esse codigo funcionar no meu script.Ele deu erro e n carrega nem as categorias nem as subcategorias.ai vai o meu códigoadsd.php<script type="text/javascript">function habilita(){ var form1 = document.form1;if (form1.categoria.select){ //Se o checkbox estiver marcado, form1.subcategoria.disabled = false; //habilita o campo form1.subcategoria.focus(); //e dá o foco.}else{ //Se não, form1.subcategoria.disabled = true; //desabilita o campo form1.subcategoria.value=''; //e limpa conteúdo.}}</script><?$sql = mysql_query("SELECT * FROM {$prefixo}categorias ORDER BY nome") or die(erro(mysql_error()));$contar = mysql_num_rows($sql);if($contar < 1) {echo "<center>Adicione pelo menos uma categoria.<br>";echo "<center><strong><a href=\"java script:div('add_cat')\">Clique Aqui</a></strong> para adicionar uma.<br></center>";?><div id="add_cat" style="display: none" align="center"><hr align="center"><form method="POST" action="admin.php?acao=ad&add=sim"> Nome da categoria:<br> <input name="nome" type="text" value="<?php echo $nome; ?>" size="20"> <br> <br> <input name="cadastrar" type="submit" id="cadastrar" value="Cadastrar"> </p></form></div><?}else{//aberto$cadastrar = $_GET["cadastrar"];if($cadastrar == "download") {$nome = $_POST["nome"];$descricao = $_POST["descricao"];$cliques = 0;$categoria = $_REQUEST["categoria"];$subcategoria = $_REQUEST["subcategoria"];$autor_script = $_POST["autor"];$versao_script = $_POST["versao"];$reportado = "";$arquivo = $_FILES["arquivo"]["name"];$sql = mysql_query("SELECT * FROM {$prefixo}downloads WHERE nome = '".$nome."'") or die(erro(mysql_error()));$contar = mysql_num_rows($sql);if($contar > 0) {$erro.= "Já existe um download com este mesmo nome.<br>";}if($nome == "") {$erro.= "Digite o nome do download.<br>";}if($descricao == "") {$erro.= "Digite a descrição do download.<br>";}if($subcategoria == "selecione") {$erro.= "Você precisa selecionar uma subcategoria.<br>";}if($categoria == "selecione") {$erro.= "Você precisa selecionar uma categoria.<br>";}if($autor_script == "") {$erro.= "Você precisa digitar o autor do download.<br>";}if($versao_script == "") {$erro.= "Você precisa digitar a versão do download.<br>";}if($arquivo == "") {$erro.= "Você precisa colocar algum arquivo para download.<br>";}if($erro == "") {$name = $_FILES['arquivo']['name']; $nome_tmp = $_FILES['arquivo']['tmp_name']; $dir = "../downloads/$name"; $upload = move_uploaded_file($nome_tmp, $dir);if($upload){$novo = "../downloads/".base64_encode(time()).".".substr($name, -3);rename($dir, $novo);}$cadastrar = mysql_query("INSERT INTO {$prefixo}downloads (nome, data_criacao, arquivo, descricao, cliques, categoria, subcategoria, autor, versao, reportado) VALUES ('$nome', NOW(), '$novo', '$descricao', '$cliques', '$categoria', '$subcategoria', '$autor_script', '$versao_script', '$reportado')", $db) or die(erro(mysql_error()));if($cadastrar) {echo "Download cadastrado com sucesso.<hr>";}else{echo "Não foi possível cadastrar o download.<hr>";}}//fecha if erroelse{echo"<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"4\" bgcolor=\"#D8E1F3\" class=\"css\"> <tr> <td bgcolor=\"#ACBFE6\" class=\"ft10 s1\"><font color=\"#FFFFFF\"><img src=\"../imagens/erro.gif\" width=\"13\" height=\"13\"> </font><strong>Ocorreram os seguintes erros:</strong></td> </tr> <tr> <td><font color=\"#FF0000\">".$erro."</font><br /> </span></td> </tr></table>";}}//fecha cadastro?><table width=322"><form action="admin.php?acao=adsd&cadastrar=download" method="POST" enctype="multipart/form-data" name="form1" id="form1"><tr><td width="314">Nome:</td></tr> <tr><td><input name="nome" type="text" value="<?php echo $nome; ?>" size="20"></td></tr> <tr><td>Arquivo:</td></tr><tr><td><input type="file" name="arquivo" /></td></tr><tr><td>Categoria:</td></tr><tr><td><select name="categoria" onchange="habilita();"><?$sql2 = mysql_query("SELECT * FROM {$prefixo}categorias ORDER BY nome") or die(erro(mysql_error()));echo "<option value=\"selecione\">Selecione uma categoria:</option>\n";while($c = mysql_fetch_array($sql2)) {echo "<option value=\"".$c[id]."\">|.".$c[nome]."</option>\n";}?></select></td></tr><tr> <td>Subcategoria:</td></tr><tr> <td> <? $categoria = $_POST['categoria];if($categoria==""){ echo '<select disabled="false" name="subcategoria"><option value="0">Selecione</option></select>';}else{ $query = "SELECT * FROM {$prefixo}subcategoria WHERE id=".$categoria."ORDER BY nome_sub"; $result = mysql_query($query); echo '<select name="subcategoria">'; while($row = mysql_fetch_row($result)){ echo '<option value="'.$row["id_sub"].'">'.$row["nome_sub"].'</option>'; }}?></td></tr><tr><td>Autor:</td></tr><tr><td><input name="autor" type="text" id="autor" value="<?php echo $autor_script; ?>" size="20"></td></tr><tr><td>Versão:</td></tr><tr><td><input name="versao" type="text" id="versao" value="<?php echo $versao_script; ?>" size="20"></td></tr><tr><td>Descrição:</td></tr><tr><td><textarea rows="5" name="descricao" cols="40"><?php echo $descricao; ?></textarea></td></tr><tr> <td> </td></tr><tr><td> <input name="cadastrar" type="submit" id="cadastrar" value="Cadastrar"></td></tr></form></table><?}?>Espero que entendam e possam me ajudar!!vlw.. Editado Janeiro 9, 2008 por Tatiana Carrazzoni Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jefmolino Postado Janeiro 10, 2008 Denunciar Share Postado Janeiro 10, 2008 form1.subcategoria.value=''; //e limpa conteúdo.nessa linha falta fechar a aspas...outros erros em js não vi...se não carrega o combo, pode ser o seu PHP tb... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tatiana Carrazzoni Postado Janeiro 10, 2008 Autor Denunciar Share Postado Janeiro 10, 2008 form1.subcategoria.value=''; //e limpa conteúdo.isso é aspas simples e não dupla...mas vou trocar p aspas dupla. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jefmolino Postado Janeiro 10, 2008 Denunciar Share Postado Janeiro 10, 2008 ^^desculpa ^^pra mim aki parece aspas duplas xDafinal seu erro ta no js ou no php? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tatiana Carrazzoni Postado Janeiro 10, 2008 Autor Denunciar Share Postado Janeiro 10, 2008 vou postar o código...pois modifiquei algumas coisas...adsd.php<script>loc = new Array(<?=mysql_num_rows($sql)?>)for (i=0; i < <?=mysql_num_rows($sql)?>; i++) { loc= new Array(2) for (j=0; j < 2; j++) { loc[j] = "0" }} <? $j = 0; while ($linha = mysql_fetch_array($sql)) {?> loc[<?=$j?>][0] = "<?=$linha[0]?>"; loc[<?=$j?>][1] = "<?=$linha[0]?>"; <? $j++; } ?> parent.inicia();</script><?$sql = mysql_query("SELECT * FROM {$prefixo}categorias ORDER BY nome ASC") or die(erro(mysql_error()));$contar = mysql_num_rows($sql);if($contar < 1) {echo "<center>Adicione pelo menos uma categoria.<br>";echo "<center><strong><a href=\"java script:div('add_cat')\">Clique Aqui</a></strong> para adicionar uma.<br></center>";?><div id=add_cat" style="display: none" align="center"><hr align="center"><form method="POST" action="admin.php?acao=ad&add=sim"> Nome da categoria:<br> <input name="nome" type="text" value="<?php echo $nome; ?>" size="20"> <br> <br> <input name="cadastrar" type="submit" id="cadastrar" value="Cadastrar"> </p></form></div><?}else{$cadastrar = $_GET["cadastrar];if($cadastrar == "download") {$nome = $_POST["nome"];$descricao = $_POST["descricao"];$cliques = 0;$categoria = $_REQUEST["categoria"];$subcategoria = $_REQUEST["subcategoria"];$autor_script = $_POST["autor"];$versao_script = $_POST["versao"];$reportado = "";$arquivo = $_FILES["arquivo"]["name"];$sql = mysql_query("SELECT * FROM {$prefixo}downloads WHERE nome = '".$nome."'") or die(erro(mysql_error()));$contar = mysql_num_rows($sql);if($contar > 0) {$erro.= "Já existe um download com este mesmo nome.<br>";}if($nome == "") {$erro.= "Digite o nome do download.<br>";}if($descricao == "") {$erro.= "Digite a descrição do download.<br>";}if($subcategoria == "selecione") {$erro.= "Você precisa selecionar uma subcategoria.<br>";}if($categoria == "selecione") {$erro.= "Você precisa selecionar uma categoria.<br>";}if($autor_script == "") {$erro.= "Você precisa digitar o autor do download.<br>";}if($versao_script == "") {$erro.= "Você precisa digitar a versão do download.<br>";}if($arquivo == "") {$erro.= "Você precisa colocar algum arquivo para download.<br>";}if($erro == "") {$name = $_FILES['arquivo']['name']; $nome_tmp = $_FILES['arquivo']['tmp_name']; $dir = "../downloads/$name"; $upload = move_uploaded_file($nome_tmp, $dir);if($upload){$novo = "../downloads/".base64_encode(time()).".".substr($name, -3);rename($dir, $novo);}$cadastrar = mysql_query("INSERT INTO {$prefixo}downloads (nome, data_criacao, arquivo, descricao, cliques, categoria, subcategoria, autor, versao, reportado) VALUES ('$nome', NOW(), '$novo', '$descricao', '$cliques', '$categoria', '$subcategoria', '$autor_script', '$versao_script', '$reportado')", $db) or die(erro(mysql_error()));if($cadastrar) {echo "Download cadastrado com sucesso.<hr>";}else{echo "Não foi possível cadastrar o download.<hr>";}}//fecha if erroelse{echo"<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"4\" bgcolor=\"#D8E1F3\" class=\"css\"> <tr> <td bgcolor=\"#ACBFE6\" class=\"ft10 s1\"><font color=\"#FFFFFF\"><img src=\"../imagens/erro.gif\" width=\"13\" height=\"13\"> </font><strong>Ocorreram os seguintes erros:</strong></td> </tr> <tr> <td><font color=\"#FF0000\">".$erro."</font><br /> </span></td> </tr></table>";}}//fecha cadastro?><div style=DISPLAY: none; POSITION: absolute" align="left"><IFRAME src name="myIframe" id="myIframe" width="400" height="100" marginwidth="0" marginheight="0"></IFRAME></div><form action="admin.php?acao=adsd&cadastrar=download" method="POST" enctype="multipart/form-data" name="Cadastro"><table width="322"><tr><td width="314">Nome:</td></tr> <tr><td><input name="nome" type="text" value="<?php echo $nome; ?>" size="20"></td></tr> <tr><td>Arquivo:</td></tr><tr><td><input type="file" name="arquivo" /></td></tr><tr><td>Categoria:</td></tr><tr><td><select name="categoria" onChange="carregar();"><option value="">- selecione -</option> <? $sql = mysql_query("SELECT DISTINCT id,nome FROM {$prefixo}categorias order by nome ASC"); while($linha=mysql_fetch_array($sql)) { echo "<option value=\"" . $linha["id] . "\">" . $linha["nome"] . "</option>"; } ?></select></td></tr><tr> <td>Subcategoria:</td></tr><tr> <td><select name=subcategoria"></select></td></tr><tr><td>Autor:</td></tr><tr><td><input name="autor" type="text" id="autor" value="<?php echo $autor_script; ?>" size="20"></td></tr><tr><td>Versão:</td></tr><tr><td><input name="versao" type="text" id="versao" value="<?php echo $versao_script; ?>" size="20"></td></tr><tr><td>Descrição:</td></tr><tr><td><textarea rows="5" name="descricao" cols="40"><?php echo $descricao; ?></textarea></td></tr><tr> <td> </td></tr><tr><td> <input name="cadastrar" type="submit" id="cadastrar" value="Cadastrar"></td></tr></table></form><?}?>admin.php<?include("../config.php");$id = $_GET['id];$auxsql = "SELECT DISTINCT nome_sub,id_sub FROM {$prefixo}subcategoria WHERE nome='{$id}' order by nome_sub";$sql = mysql_query($auxsql);if(!$sql){echo mysql_error();exit();}if($contagem !=1) {header("Location: index.php");}else{$user = mysql_query("SELECT * FROM {$prefixo}usuarios WHERE login = '".$login."'") or die(erro(mysql_error()));$user1 = mysql_fetch_array($user);if($nivel < 2) {$user = "$login";}else{$user = "<a href=\"admin.php?acao=info_user&id=".$user1[id]."\">$login</a>";}?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv=Content-Type" content="text/html; charset=iso-8859-1"><title><?php echo $nome_site; ?></title><link rel="StyleSheet" href="../css.css" type="text/css"><script src="../js.js" language="javascript"></script><style type="text/css"><!--.style1 {color: #000000;font-weight: bold;}--></style></head><body><div align="center"><table width="803" border="1" cellpadding="2" cellspacing="0" bordercolor="#D8E1F3"><tr valign="top" bgcolor="#D8E1F3"><td colspan="2"><table width="100%" border="0"><tr><td align="center"><font color="#000000">Seja bem vindo <strong><?php echo $user; ?></strong></font> </td></tr></table></td></tr><tr><td colspan="2"></td></tr><tr valign="top"><td width="200" align="left" bgcolor="#FFFFFF"><table width="100%" border="0"><tr><td align="center" bgcolor="#D8E1F3" class="style1 style3">Menu</td></tr><tr><td> </td></tr><tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''"><td><a href="admin.php">> Principal</a></td></tr><tr><td> </td></tr><tr><td align="center" bgcolor="#D8E1F3" class="style1 style3">Downloads</td></tr><tr><td> </td></tr><tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''"><td><a href="?acao=adsd">> Adicionar </a></td></tr><tr onmouseover="this.bgColor='#D8E1F3'" onmouseout="this.bgColor=''"><td><a href="logout.php">> Logout</a> </td></tr></table><center></center><br><br></td><td width="603"><br><div align="center"><table width="643" border="0" cellspacing="0" cellpadding="0"><tr><td width="100%" align="left" valign="top"><?$page = $_GET["acao];if(empty($page)) {include("home.php");}elseif(eregi("http|ftp|https|www|wget", $page) || !is_file($page.".php")){include("ilegal.php");}else{include($page.".php");}?></td></tr></table></div></td></tr><tr valign="top" bgcolor="#D8E1F3"><td colspan="2"> </td></tr></table></div></body></html><?}?>js.jsfunction carregar(){var url;var myIframe = document.getElementById('myIframe');url = 'admin.php?acao=adsd&cadastrar=download?id='+document.Cadastro.categoria[document.Cadastro.categoria.selectedIndex].value;document.Cadastro.subcategoria.options.length = 0;addItem(document.Cadastro.subcategoria,"Aguarde...carregando","",false,document.Cadastro.subcategoria.length)myIframe.location = url;document.Cadastro.subcategoria.focus()}function inicia(){var myIframe = document.getElementById('myIframe');local1 = new Array();var maximo1, i, campo1;local1 = myIframe.loc;campo1 = document.Cadastro.subcategoria;maximo1 = local1.length;document.Cadastro.subcategoria.options.length = 0;addItem(campo1,'--- selecione ---','',false,campo1.length);for (i=0;i<maximo1;i++){addItem(campo1,local1[1],local1[0],false,campo1.length);}}function addItem(obj,strText,strValue,blSel,intPos){var newOpt,i,ArTemp,selIndex;selIndex = (blSel)?intPos:obj.selectedIndex;newOpt = new Option(strText,strValue);Len = obj.options.length+1if (intPos > Len) returnobj.options.length = Lenif (intPos != Len) {ArTemp = new Array();for(i=intPos;i<obj.options.length-1;i++)ArTemp = Array(obj.options.text,obj.options.value);for(i=intPos+1;i<Len;i++)obj.options = new Option(ArTemp[i-1][0],ArTemp[i-1][1]);}obj.options[intPos] = newOpt;if (selIndex > intPos)obj.selectedIndex = selIndex+1;else if (selIndex == intPos)obj.selectedIndex = intPos;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 10, 2008 Denunciar Share Postado Janeiro 10, 2008 É o que eu gostaria de saber..eu acho que está no php. Tatiana posta o erro por favor.Eu ia deixar pra lá o post já que não sou bom de php, mas eu vou tentar te ajudar já que o código não é tão complexo assim.Posta o erro que está dando, porque pode ser qualquer coisa. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tatiana Carrazzoni Postado Janeiro 10, 2008 Autor Denunciar Share Postado Janeiro 10, 2008 na realidade ele n ta carregando as subcategorias, so carrega as categorias...ai pelo js.js, ele faz q vai carregar ai aparece a msg Aguarde... carregando..mas quando chega nessa linha do script: addItem(campo1,'--- selecione ---','',false,campo1.length);ele não carrega nada... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 10, 2008 Denunciar Share Postado Janeiro 10, 2008 Nossa senhora...o cara faz uma gambiarrita pra fazer isso sem usar ajax...Nossa, de boa, eu to achando que tem javascript demais nesse código...não entendo muito de php, mas tem muita coisa que não precisaria mesmo existir. Confesso que estou perdido, olhei, olhei olhei...eu até consigo entender, mas o cara criar arrays do NADA...é um trilho de rato que vai te levando de um lugar a outro de um lugar a outro...você se perde no script muito facilmente....Não tem comentários, você precisa esperar por iluminação divina pra entender o que cada um dos vinte mil arrays faz no javascript.Tá feia a coisa....Tatiana eu preciso mesmo saber onde está o erro, se está no javascript ou não. Então eu gostaria que fizesse uma coisa pra mim:Use o iE, e rode seu código. Veja se aparece algum sinal de erro no navegador (ali na rodapé). É um sinal amarelo, você provavelmente deve conhecer. Se estiver amarelo, ative o "notificar mensagem a cada erro de script". E rode de novo a página. O depurador vai dizer a linha e a coluna do erro, bem como o tipo de erro que está dando. Com isso eu acho que poderei saber o problema.Se não der erro algum...vamos chorar.. porque aí pode ser duas coisas. Erro no php, ou erro no próprio javascript porém não seria um erro de sintaxe, mas um erro de lógica. Um código pronto desse tamanho é complicado de debugar...geralmente a gente constrói o código com comentários e alerts dentro de comentários pra testar os dados..mas esse código tá difícil. Faça o que eu te pedi por favor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tatiana Carrazzoni Postado Janeiro 10, 2008 Autor Denunciar Share Postado Janeiro 10, 2008 Kakarottoeu fiz o q você pediu:no IE: ele n aparece nada no rodapé apneas concluído...no IE ele carrega o campo categoria e no campo subcategoria ele fica sleecione, ou seja, não carrega as subcategorias relacionada a categoria selecionada... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 10, 2008 Denunciar Share Postado Janeiro 10, 2008 Danou....Essa é aquela hora que você entra em desespero e começa a chutar. Na linha em que você criar o iframe:<IFRAME src name="myIframe" id="myIframe" width="400" height="100" marginwidth="0" marginheight="0"></IFRAME> Tem um src sozinho. Remova ele. Na função carregar(), troque: myIframe.location = url; Por: myIframe.src=urlÉ...eu to chutando mesmo!!!! rsrsrs Um chute consciente, mas ainda é um chute. Vê se funciona. Se não funcionar, eu vou te recomendar que mude de script...Manda pra mim o endereço de onde pegou esses códigos também, eu entrei no link do Eserra, mas tem coisa ae que não tem lá....Reza fia... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Tatiana Carrazzoni Postado Janeiro 11, 2008 Autor Denunciar Share Postado Janeiro 11, 2008 Kakarotto,me cadastrei também em outros fóruns e daí me passarm um link contendoesse script q tive q fazer adaptações para meu sistema...ai vai o link do script no wmonline...se este não for o mlehor scrit, você tem algum que eu possa utilizar???Agardeço a atenção em querer me ajudar... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 KaKarotto Postado Janeiro 11, 2008 Denunciar Share Postado Janeiro 11, 2008 Não tenho Tatiana...aliás se eu tivesse, acredite, teria passado muito tempo antes, já que não curti muito esse que está usando.Eu dar uma olhada no link que passou, mas não prometo que vou conseguir te ajudar, esse tipo de coisa precisa de mais tempo do que os outros tipos de dúvidas. Não sou muito bom em php, mas o primeiro código que passou eu conhecia todas as funções.Nossa eu tava apostando naquele meu chute rsrsrs. Isso quer dizer que pode ter muito mais problema no js que eu imaginava, já que do jeito que tava o iframe não iria direcionar pra página alguma. Não existe o atributo location pra objetos iframe...A não ser que o referenciasse como janela, que não foi o caso. Vou dar uma checada, se eu achar um código que de para modificar facilmente ( o que é raro) nas duas linguagens, eu te mando.Akelabrassssss Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Janeiro 24, 2008 Denunciar Share Postado Janeiro 24, 2008 tatiana, certa vez fiz um negocio parecido sem usar ajax. e fica bem simples na verdade, é só você escrever o javascript por php. o q eu fiz era tipo assim tipo assim, tinha um select estado e outro cidade. se você selecionasse um estado, ele preenchia o select das cidades. o codigo era tipo esse:Function MudaCidade(indice){ var i; for (i = 1; i < document.getElementById('Esquerda_drpCidade').length; i++) { document.getElementById('Esquerda_drpCidade').options[i] = null; } if (indice == 'BA') { document.getElementById('Esquerda_drpCidade').options[1] = new Option('Salvador', 'Salvador'); } if (indice == 'MG') { document.getElementById('Esquerda_drpCidade').options[1] = new Option('Belo Horizonte', 'Belo Horizonte'); document.getElementById('Esquerda_drpCidade').options[2] = new Option('Juiz De Fora', 'Juiz De Fora'); } if (indice == 'RJ') { document.getElementById('Esquerda_drpCidade').options[1] = new Option('Rio de Janeiro', 'Rio de Janeiro'); } if (indice == 'RS') { document.getElementById('Esquerda_drpCidade').options[1] = new Option('Porto Alegre', 'Porto Alegre'); } if (indice == 'SC') { document.getElementById('Esquerda_drpCidade').options[1] = new Option('Blumenau', 'Blumenau'); document.getElementById('Esquerda_drpCidade').options[2] = new Option('Florianópolis', 'Florianópolis'); document.getElementById('Esquerda_drpCidade').options[3] = new Option('Joinville', 'Joinville'); } if (indice == 'SP') { document.getElementById('Esquerda_drpCidade').options[1] = new Option('Ribeirão Preto', 'Ribeirão Preto'); document.getElementById('Esquerda_drpCidade').options[2] = new Option('São Paulo', 'São Paulo'); }}[/code] e no select da cidade, eu simplesmente chamava a funcao: [code]<select name="Esquerda:drpEstado" id="Esquerda_drpEstado" class="form_ass_tec" OnChange="java script: MudaCidade(this.value);"> ai o codigo javascript eu escrevia pelo Asp.NET, mas você pode escrever pelo php (no caso eu tive que escrevr na propria pagina e não num arquivo separado), tipo assim: <script language="javascript" type="text/javascript"><!--Function MudaCidade(indice){ var i; for (i = 1; i < document.getElementById('Esquerda_drpCidade').length; i++) { document.getElementById('Esquerda_drpCidade').options[i] = null; }<?php $sql = mysql_query("SELECT * From Estado"); for ($i = 0; $i < mysql_num_rows($sql) - 1; $i++) { echo ("if (indice == 'MG')"); echo ("{"); $cidade = mysql_query("SELECT * From Cidades Where Estado = '" . mysql_result($sql, $i, "Estado") . "'"); for ($j = 0; $j < mysql_num_rows($cidade) - 1; $j++) { echo ("document.getElementById('Esquerda_drpCidade').options[" . $j . "] = new Option('" . mysql_result($cidade, $j, "Cidade") . "', '" . mysql_result($cidade, $j, "Cidade") . "');"); } echo ("}"); }?>}//--></script>[/code]acho q ficaria melhor com AJAX, principalmente se você tiver mtos registros, mas se você tentar esse meu codigo, qualquer duvida pergunta ae. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Tatiana Carrazzoni
Tenho dois selects num fomurlário, um categoria e outro subcategoria.
O campo subcategoria vai estar desabilitado até que selecione uma categoria.
Depois de selecionar uma categoria, habilitar o select de subcategoria, carregando apenas as subcategorias relacionadas a categoria selecionada.
Os dados estão no banco de dados, e as páginas são em php.
A tabela categoria tem o seguintes campos: id, nome
A tabela subcategoria tem o seguintes campos: id_sub, nome, nome_sub (o campo nome vem da tabela categoria).
Espero que alguém me ajude!!
:mellow:
Editado por Tatiana CarrazzoniLink para o comentário
Compartilhar em outros sites
18 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.