Ir para conteúdo

POWERED BY:

Arquivado

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

Mr. Borges

Enviar inputs text com base nos checkbox marcados

Recommended Posts

Olá amigos...

 

Podem me ajudar nessa?

 

Imagem a seguinte situação baseada na imagem em anexo.

Tenho vários... digamos, grupos de text fields, cada um com seu checkbox de referencia.

 

E quero envia-los por formulario, seja GET ou POST...

 

Mas quero apenas enviar os que foram checados com o checkbox...

 

Agora como enviar os campos de cada checkbox marcado, tratando eles de forma correta no PHP para se inserir no Banco de Dados?

 

Eu imagino que todo o carregamento de dados a principio, deve ser feito pelo javascript/jquery e quando chega no PHP ele se encarrega de armazenar no mysql corretamente. Mas não faço ideia de como fazer isso.

 

Já peguei php.net e as API do jquery, mas não consegui enxergar uma solução.

 

Podem me ajudar?

 

Desde ja agradeço.

 

001fwe.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Envie os checkbox em forma de array.

 

         <form name="form1" method="POST" action="suaPagina.php">
             <input name="qtd[]" type="checkbox" value="">QTD<br>
             <input name="qtd[]" type="checkbox" value="">QTD<br>
             <input type="submit" value="Enviar Formulário" />
         </form>

<?php
             foreach($_POST["seuArray"] as $key => $value) {
                 $sql = "Insert into...";
         }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendo... mas e os input type=text ?? o checkbox no caso seria apenas uma referencia... o que tenho que enviar realmente são os valores dos campos....

 

 

Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Vou te dar um exemplo:
                                    <input type="checkbox" name="dia" id="dia"/>
                                  <div id="segunda">SEGUNDA</div>
                                <input type="text" name="horario" id="horario">
                                </td>                                
                                <td>
                                    <input type="checkbox" name="dia"/>
                                  <div id="terca">TERÇA</div>
                                <input type="text" name="horario" id="horario">

 

 

 

                var arrHorario = $(".horario");
                var hora = new Array();
                arrHorario.each(function(){
                    hora[$(this).attr('dia')] = $(this).attr('value');
                });

 

Agora no seu PHP é só pegar o $_POST["dia"] e fazer um foreach.

 

Se você mostrar o seu código, fica mais fácil de ajudar :)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Wellington

Rapaz, esse é o meu código...

 

<form action="" method="post">
<p class="cidade">
        <input type="checkbox" name="SP" id="check_cidade" /> 
São Paulo |  Qtd: <input type="text" style="width:50px;" id="qtd" name="qtd"  title="Digite a Quantidade de Números de Celulares Desejado." onkeyup="orcamento(this,10)" /> <small>(Max: 5000)</small>
          Total: R$ <input type="text" name="total" id="total"  style="width:70px;" title="Custo de Envio para a Quantidade Escolhida" />
</p>

<p class="cidade">
        <input type="checkbox" name="RP" id="check_cidade" /> 
Rio Preto |  Qtd: <input type="text" style="width:50px;" id="qtd" name="qtd"  title="Digite a Quantidade de Números de Celulares Desejado." onkeyup="orcamento(this,10)" /> <small>(Max: 5000)</small>
          Total: R$ <input type="text" name="total" id="total"  style="width:70px;" title="Custo de Envio para a Quantidade Escolhida" />
</p>

<p class="cidade">
        <input type="checkbox" name="MR" id="check_cidade" /> 
Mirassol |  Qtd: <input type="text" style="width:50px;" id="qtd" name="qtd"  title="Digite a Quantidade de Números de Celulares Desejado." onkeyup="orcamento(this,10)" /> <small>(Max: 5000)</small>
          Total: R$ <input type="text" name="total" id="total"  style="width:70px;" title="Custo de Envio para a Quantidade Escolhida" />
</p>

<input type="submit" value="Enviar" />
</form>

 

Perceba que a cada <p class="cidade">, eu tenho um checkbox e 2 input text...

Sendo assim, quando eu disparar o form, quero receber os dados somente dos inputs que foram marcados pelos checks...

 

Eu acredito que deve ser alguma coisa com javascript/jquery a principio para fazer a carga e transporte dessas informações e depois que chega no php ele tem que identificar quem é quem para inserir no banco corretamente...

 

Espero que tenha entendido e possa me ajudar...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Borges,

 

Estive com este mesmo problema e demorei para achar uma solução, caso não tenha conseguido ainda vou mostrar minha solução, também para o caso de alguém que visite o fórum para pesquisar algo parecido, que foi meu caso.

 

<input type="checkbox" name="check[<?php echo $id; ?>]" />
<input type="text" name="valor1[<?php echo $id; ?>]" value="" />
<input type="text" name="valor2[<?php echo $id; ?>]" value="" />

 

 

Onde o $id que você está informando seja igual para todos, ou seja, quando você receber o POST vai receber por exemplo:

Array
(
    [check] => Array
        (
            [0] => 1
            [1] => 1
        )

    [valor1] => Array
        (
            [0] => exValor1
            [1] => ex2Valor1
        )

    [valor2] => Array
        (
            [0] => exValor2
            [1] => ex2Valor2
        )

)

 

Então é apenas acessar o mesmo índice em cada array.

 

Acredito ter ajudado, foi a solução que achei para meu caso!

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.