RosePS 0 Denunciar post Postado Fevereiro 20, 2009 Olá boa tarde pessoal. Estou aprendendo programação agora e estou com um probleminha aqui com um módulo feito em Javascript + PHP Tenho duas select multiple. A primeira lista algumas informações do banco que serão selecionadas pelo usuário que vai clicar no botão adicionar e o dado selecionado irá para a segunda select multiple. Acontece que quando vou salvar essas informações salva apenas um dos dados transferidos. #OS DADOS SÃO TRANSMITIDOS DE UM SELECT P/ OUTRO <input type="button" onClick="move(this.form.destino,this.form.origem)" value="<<"> <input type="button" onClick="move(this.form.origem,this.form.destino)" value=">>"> //ação da função javascript que ja esta funcionando <select multiple size="10" name="destino[]" style="width:220"> //caixa de seleção de destino -> ja está recebendo os dados corretamente $selecao=$_POST["destino"]; Salva normalmente mas apenas um dos itens q foram pra segunda select multiple e não todos eles. Alguém sabe de alguma solução para esse problema ou tenha uma outra sugestão pra realizar essa função. Agradeço a ompreensão. Obrigada xD Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Fevereiro 20, 2009 if(isset($_POST["destino"])) foreach($_POST["destino"] as $opcao) { echo "destinos escolhido ". $opcao ."<br>"; } Compartilhar este post Link para o post Compartilhar em outros sites
RosePS 0 Denunciar post Postado Fevereiro 20, 2009 Novato... muito obrigada viu! xD inseriu todos ^^ só tem um bug a resolver Se não selecionarmos todos os elementos da lista dá erro. Pesquisando encontrei uma função pra resolver isso mas inseri aqui no código mas ainda não está funcionando function select_all(form) { var elem = form.elements['sel2']; for (i = 0; i < elem.length; i++) { elem.selected = true; } } <form action="" method="post" onSubmit="select_all(this);"> Alguém pode me ajudar com esta ou dar outra sugestão? Mais uma vez, Obrigada. xD Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Fevereiro 20, 2009 Vamos resolver seu problema??? Faz o seguinte: Coloca um id para identificar sua listagem 2 <select multiple size="10" name="destino[]" id="combo_destino" style="width:220"> Coloca no ON Submit do seu form assim OnSubmit="selecionatudo();" Depois coloca este funcao java script no seu arquivo: function selecionatudo(){ var selecionados = document.getElementById('combo_destino'); for(i=0; i<=selecionados.length-1; i++){ selecionados.options[i].selected = true; } } Testa aí e me fala se funcionou... Compartilhar este post Link para o post Compartilhar em outros sites
RosePS 0 Denunciar post Postado Fevereiro 26, 2009 Olá Novato. Desculpe a demora... (Eu estava viajando. xD) Vi agora seu post e testei, mas não funcionou. Dá o mesmo erro. Quando não selecionado manualmente indica que não há nada na combo_destino. Já utilizei 3 funções diferentes, mas ainda assim não funcionou, e realmente não entendo o motivo, pois a meu ver deveria estar funcionando já. Vou postar como exemplo uma outra função javascript bem parecida que também foi utilizada: function tudo() { var combo=document.forms[0].elements[0]; var q=combo.length; for(i=0; i<q; i++) { combo.options.selected=true; } } Vou continuar procurando a solução. Muito obrigada pela ajuda e qualquer nova sugestão fico grata. Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Fevereiro 26, 2009 OK! Desculpe pelos dois posts... Cliquei no lugar errado... Moderadores se puderem apagar... Compartilhar este post Link para o post Compartilhar em outros sites
novato_PHP 0 Denunciar post Postado Fevereiro 26, 2009 Observei que funciona sim mas no ON Submit a pessoa tem que clicar duas vezes o que torna inviável, então faz o seguinte... Você tem um botão de enviar o form não tem??? Chama a função no OnMouseOver="selecionatudo(); do Botão Enviar(Submit do form) Olha um exemplo abaixo para ver como funciona... <form action="primeiro.php" name="frmdestino" method="POST"> <select name="destino[]" size="5" id="cdestino" multiple="multiple"> <option value="branco">branco</option> <option value="azul">azul</option> <option value="preto">preto</option> <option value="verde">verde</option> </select> <script> function selecionatudo(){ var selecionados = document.getElementById('cdestino'); for(i=0; i<=selecionados.length-1; i++){ selecionados.options[i].selected = true; } } </script> <input type="submit" value="ok" OnMouseOver="selecionatudo();"> </form> <? if(isset($_POST["destino"])) { foreach($_POST["destino"] as $opcao) { echo "destino escolhidos ". $opcao ."<br>"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
RosePS 0 Denunciar post Postado Fevereiro 26, 2009 Clarooo!! (risos) Como não pensei nisso antes! Funcionou corretamente. Novato, muito obrigada! xD Até mais. Compartilhar este post Link para o post Compartilhar em outros sites