bcs_ptx 0 Denunciar post Postado Julho 31, 2012 Boa pessoal, queria fazer uma listagem que tudo que tiver selecionado eu abra em outra aba, tipo: pagina = lista.php <form> <input type='check' value='1'> <input type='check' value='2'> <input type='check' value='3'> </form> se eu selecionar o valor 1 e 3 abrir uma nova aba na pagina editar.php Compartilhar este post Link para o post Compartilhar em outros sites
André Luís Otto 23 Denunciar post Postado Julho 31, 2012 Jquery amigo faz a verificação caso algum campo esteja selecionado e ative a aba Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Julho 31, 2012 Sim, mas não tem como fazer isso com php? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 31, 2012 abrir numa nova aba ou nova janela ? aba: new tab janela: new window <form action="editar.php" target="_blank" method="post"> nesse caso enviará para uma nova janela Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Julho 31, 2012 sim, mas ai abrir tudo que foi selecionado, se foi selecionado o campo 1 e 3, ele abre duas janelas, editar.php?campo1 e editar.php?campo2 Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 31, 2012 Você deve transformar seu input em um "vetor". Para tranformá-lo em vetor, deve colocar o mesmo name em todos os inputs seguido de colchetes []. Assim: <input type='checkbox' name="vetor[]" value='1'> <input type='checkbox' name="vetor[]" value='2'> <input type='checkbox' name="vetor[]" value='3'> <input type='checkbox' name="vetor[]" value='4'> No PHP, você trabalhará da seguinte forma: $checkboxes = $_POST['vetor']; foreach($checkboxes AS $checkbox) { printf("Valor selecionado: %s\n" , $checkbox); } Também o type, o correto é "checkbox". edit--- Abrir em uma nova aba/janela, é como o @hinom demonstrou. Para passar os dados, faça como eu demonstrei. Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Julho 31, 2012 fiz isso mais não deu certo, era isso? <form action="editar.php" method="post"> <?php $checkboxes = $_POST['vetor']; foreach($checkboxes AS $checkbox) { printf("Valor selecionado: %s\n" , $checkbox); } ?> <input type="submit"> <table> <tr> <td>Valor 1</td> <td><input type='checkbox' name="vetor[]" value='1'></td> </tr> <tr> <td>Valor 2</td> <td><input type='checkbox' name="vetor[]" value='2'></td> </tr> <tr> <td>Valor 3</td> <td><input type='checkbox' name="vetor[]" value='3'></td> </tr> </table> </form> Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 31, 2012 Esse trecho de código, deve ir no arquivo editar.php: $checkboxes = $_POST['vetor']; foreach($checkboxes AS $checkbox) { printf("Valor selecionado: %s\n" , $checkbox); } Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Julho 31, 2012 sim, agora sim, mas só mais uma coisa, ele lê os registros tudo na mesma pagina editar, oque realmente eu queria fazer, é que abra várias telas editar, uma com cada registro, entende? mas valeu a ajuda pessoal Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 31, 2012 acho que entendi... boa parte do processo é no javascript.. é bastante simples... sabe escrever algo em javascript ? Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Julho 31, 2012 Oque sei é bem básico, comecei a estudar javascript faz pouco tempo. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 31, 2012 O mais básico, é utilizar o window.open(). Inicialmente, ele vai abria uma nova janela. Agora, com os novos navegadores, ele abre em abas. Entretanto, isso pode ser bloqueado pelo navegador (alguns bloqueadores de pop-up também bloqueiam). Vai ter que testar a sua necessidade. Aqui há alguns exemplos: http://www.pageresource.com/jscript/jwinopen.htm Está em inglês. Os melhores exemplos e tutoriais, você só encontrará em inglês. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 31, 2012 eu desencanei de window.open desde qeu os broewser começaram a bloquear por padrão.. pensaria melhor antes de usar tal recurso... dependendo do que pretende fazer, o uso do ajax pode ser mais viável.. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Julho 31, 2012 Concordo com @hinom. Abrir várias janelas é ultrapassado. Mesmo sendo um site transitional, usuário não gosta de ficar abrindo janela ao lado de janela. Por isso doctype strict foi criado. As vezes, um simples dropdown + ajax pode substituir a abertura de várias janelas/abas. E, de certa forma, torna seu sistema muito mais "elegante" e com melhor experiência para o usuário. Compartilhar este post Link para o post Compartilhar em outros sites
bcs_ptx 0 Denunciar post Postado Julho 31, 2012 aqui pessoal, agora só falta invés de abrir os registros na mesma pagina, abrir em pagina separadas ao mesmo tempo. lista.php <script language=javascript> function selecionaTodos(){ for(var i = 0; i < document.form.elements.length;i++) { var x = document.form.elements[i]; if(x.name == 'seleciona[]') { x.checked = document.form.principal.checked; } } } </script> <form action="editar.php" method="post" name="form"> <input type="checkbox" name="principal" onclick="selecionaTodos()"> 1<input type='checkbox' name='seleciona[]' id="1" value="1"/> 2<input type='checkbox' name='seleciona[]' id="2" value="2"/> 3<input type='checkbox' name='seleciona[]' id="3" value="3"/> <input type="submit" name="excluir"/> </form> editar.php <?php if(isset($_POST['excluir'])){ if(!isset($_POST['seleciona'])){ echo "<script type='text/javascript'>alert('Selecione um registro!'); window.location.href='testa.php'</script>"; } $seleciona = $_POST['seleciona']; foreach($seleciona as $valor){ echo $valor.'<br>'; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 31, 2012 se quer fazer dessa forma basta verificar qual elemento está checado.. a lógica é semelhante ao script da função selecionaTodos() a diferença é que se estiver checado chame o window.open enviando os parâmetros do elemento.. ainda sugiro repensar o modelo de negócios.. acho que httprequest (ajax) pode ser aplicado para o seu caso.. Compartilhar este post Link para o post Compartilhar em outros sites