Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Pegar valores dinâmicos de vários selcts

23-08-2016 16:29


<html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var input = '<label style="display: block"><select name="tiposervico"><option value=""></option><option value="Agente de Asseio e Conservação" >Agente de Asseio e Conservação</option><option value="Jardinagem" >Jardinagem</option><option value="Portaria" >Portaria</option><option value="Agente de Manutenção" >Agente de Manutenção</option><option value="Limpeza de Caixa D&lsquo;Água" >Limpeza de Caixa D&lsquo;Água</option><option value="Recepção" >Recepção</option><option value="Atendente" >Atendente</option><option value="Limpeza de Calha" >Limpeza de Calha</option><option value="Segurança Patrimonial" >Segurança Patrimonial</option><option value="Auxiliar de limpeza" >Auxiliar de limpeza</option><option value="Limpeza de Carpete" >Limpeza de Carpete</option><option value="Telefonista" >Telefonista</option><option value="Controlador de Acesso" >Controlador de Acesso</option><option value="Limpeza Express" >Limpeza Express</option><option value="Tratamento de Piso" >Tratamento de Piso</option><option value="Copeira" >Copeira</option><option value="Limpeza de Fachada" >Limpeza de Fachada</option><option value="Vigia" >Vigia</option><option value="Fiscal de Loja" >Fiscal de Loja</option><option value="Limpeza de Piscina" >Limpeza de Piscina</option><option value="Zelador" >Zelador</option><option value="Fiscal de Piso" >Fiscal de Piso</option><option value="Limpeza Pós Obra" >Limpeza Pós Obra</option></select>&nbsp;&nbsp;&nbsp;Quant.:<select name="qt"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="+30">+30</option></select> <input type="button" name="" id="tira" value="X" /></label>'; $("input[name='add']").click(function( e ){ $('#inputs_adicionais').append( input ); // var $campoquant = document.getElementById('qtserv'); // var $quant = document.getElementById('serv').value; // var $quantatr = document.createAttribute("name"); // $quantatr.value = $quant; // $campoquant.setAttributeNode($quantatr); }); $('#inputs_adicionais').delegate('#tira','click',function( e ){ e.preventDefault(); $( this ).parent('label').remove(); }); }); </script> </head> <body> <form action="teste-resgata.php" method="post"> <label style="display: block"> Tipo de Serviço: <input type="button" name="add" value="+" /> </label> <fieldset id="inputs_adicionais" style="border: none"> </fieldset> <input type="submit" name="enviar"> </form> </body> </html>

página que exibe os valores :

<?php echo "O tipo de serviço é: " . $_POST["tiposervico"]; echo "<br>O valor dá quantidade é: " . $_POST["qt"]; ?>

como posso exibir os valores que o usuário seleciona e a quantidade, acima só exibe um só !
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Pegar valores dinâmicos de vários selcts

23-08-2016 16:47

Tive que fazer algumas alterações nos nomes dos select tiposervico e qt para array.
Dessa forma dá para capturar os valores com um foreach na outra página.

<html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var input = '<label style="display: block"><select name="tiposervico[]"><option value=""></option><option value="Agente de Asseio e Conservação" >Agente de Asseio e Conservação</option><option value="Jardinagem" >Jardinagem</option><option value="Portaria" >Portaria</option><option value="Agente de Manutenção" >Agente de Manutenção</option><option value="Limpeza de Caixa D&lsquo;Água" >Limpeza de Caixa D&lsquo;Água</option><option value="Recepção" >Recepção</option><option value="Atendente" >Atendente</option><option value="Limpeza de Calha" >Limpeza de Calha</option><option value="Segurança Patrimonial" >Segurança Patrimonial</option><option value="Auxiliar de limpeza" >Auxiliar de limpeza</option><option value="Limpeza de Carpete" >Limpeza de Carpete</option><option value="Telefonista" >Telefonista</option><option value="Controlador de Acesso" >Controlador de Acesso</option><option value="Limpeza Express" >Limpeza Express</option><option value="Tratamento de Piso" >Tratamento de Piso</option><option value="Copeira" >Copeira</option><option value="Limpeza de Fachada" >Limpeza de Fachada</option><option value="Vigia" >Vigia</option><option value="Fiscal de Loja" >Fiscal de Loja</option><option value="Limpeza de Piscina" >Limpeza de Piscina</option><option value="Zelador" >Zelador</option><option value="Fiscal de Piso" >Fiscal de Piso</option><option value="Limpeza Pós Obra" >Limpeza Pós Obra</option></select>&nbsp;&nbsp;&nbsp;Quant.:<select name="qt[]"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="+30">+30</option></select> <input type="button" name="" id="tira" value="X" /></label>'; $("input[name='add']").click(function( e ){ $('#inputs_adicionais').append( input ); // var $campoquant = document.getElementById('qtserv'); // var $quant = document.getElementById('serv').value; // var $quantatr = document.createAttribute("name"); // $quantatr.value = $quant; // $campoquant.setAttributeNode($quantatr); }); $('#inputs_adicionais').delegate('#tira','click',function( e ){ e.preventDefault(); $( this ).parent('label').remove(); }); }); </script> </head> <body> <form action="teste2.php" method="post"> <label style="display: block"> Tipo de Serviço: <input type="button" name="add" value="+" /> </label> <fieldset id="inputs_adicionais" style="border: none"> </fieldset> <input type="submit" name="enviar"> </form> </body> </html>


<?php foreach(array_combine($_POST['tiposervico'], $_POST['qt']) AS $v1 => $v2) { echo "$v1 - $v2<br />"; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Re: Pegar valores dinâmicos de vários selcts

25-08-2016 11:19

Legal, funcionou, obrigado!
Mas aplicando isso pra enviar por e-mail dá erro !

veja :

<?php $emailsender = "meu@email.com"; /* Verifica qual éo sistema operacional do servidor para ajustar o cabeçalho de forma correta. */ if(PATH_SEPARATOR == ";") $quebra_linha = "\r\n"; //Se for Windows else $quebra_linha = "\n"; //Se "não for Windows" // Passando os dados obtidos pelo formulário para as variáveis abaixo $assunto = "Solicitação de "; $empresa = $_POST['empresa']; $nome = $_POST['nome']; $telefone = $_POST['telefone']; $email = $_POST['email']; $cidade = $_POST['cidade']; $mensagem = $_POST['mensagem']; $emaildestinatario = 'meu@email.com'; foreach(array_combine($_POST['tiposervico'], $_POST['qt']) AS $v1 => $v2) { $teste[] = "$v1 - $v2<br />";} /* Montando a mensagem a ser enviada no corpo do e-mail. */ $mensagemHTML = '<hr></hr> <p>Empresa: '.$empresa.'</p><br /> <p>Nome: '.$nome.'</p><br /> <p>Telefone: '.$telefone.'</p><br /> <p>E-Mail: '.$email.'</p><br /> <p>Cidade: '.$cidade.'</p><br /> <p>Tipo de Serviço:'. $teste .'</p><br /> <p>Detalhes: '.$mensagem.'</p><br /> <hr></hr>'; /* Montando o cabeçalho da mensagem */ $headers = "MIME-Version: 1.1" .$quebra_linha; $headers .= "Content-type: text/html; charset=utf-8" .$quebra_linha; // Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada. $headers .= "From: " . $emailsender.$quebra_linha; $headers .= "Reply-To: " . $email . $quebra_linha; // Note que o e-mail do remetente será usado no campo Reply-To (Responder Para) /* Enviando a mensagem */ //É obrigatório o uso do parâmetro -r (concatenação do "From na linha de envio"), aqui na Locaweb: if(!mail($emaildestinatario, $assunto, $mensagemHTML, $headers ,"-r".$emailsender)){ // Se for Postfix $headers .= "Return-Path: " . $emailsender . $quebra_linha; // Se "não for Postfix" mail($emaildestinatario, $assunto, $mensagemHTML, $headers ); } ?> <?php $h1 = 'Orçamento Enviado!'; $description = 'Seu orçamento foi enviado com sucesso'; $keywords = 'Orçamento enviado com sucesso, orçamento VServ, Enviar orçamento para VServ'; ?> <?php include("include/head.php"); ?> <meta name="description" content="<?=$description?>" /> <meta name="keywords" content="<?=$keywords?>" /> </head> <body> <?php include("include/header.php"); ?> <!-- SUB BANNER --> <section class="sub-bnr" style="background:url(images/banner-pagina-envia.jpg) no-repeat;"> <div class="position-center-center"> <div class="container"> <h4><?=$h1?></h4> </div> </div> <div class="bread"> <!-- Breadcrumb --> <div class="container"> <h6><?=$h1?></h6> <ol class="breadcrumb pull-right"> <li> <a href="index.php" itemprop="url" title="Home"> <span itemprop="title">Home</span> </a> </li> <li> <a href="<?=$url?>" itemprop="url" title="<?=$h1?>"> <span itemprop="title"><?=$h1?></span> </a> </li> </ol> </div> </div> </section> <br /><br /><br /><br /><br /> <div id="content"> <!-- CONTACT --> <section class="contact-page padding-top-50 padding-bottom-50"> <!-- CONTACT FORM --> <div class="container"> <div class="row margin-top-50 margin-bottom-50"> <div class="col-md-12"> <div class="heading text-left margin-bottom-10"> <h3>Orçamento solicitado com sucesso!</h3> </div> <p><?=$nome;?>, mais breve possível entraremos em contato.</p> <p> <h5>Confira seu orçamento</h5> <hr></hr> <p>Empresa: <?=$empresa?></p><br /> <p>Nome: <?=$nome?></p><br /> <p>Telefone: <?=$telefone?></p><br /> <p>E-Mail: <?=$email?></p><br /> <p>Cidade: <?=$cidade?></p><br /> <p>Tipo de Serviço: <?php echo $teste; ?> </p><br /> <p>Detalhes: <?=$mensagem?></p><br /> </p> <p><button type="button" value="Voltar" class="btn" id="btn_submit" onclick="javascript:window.history.go(-1)">Solicitar outro orçamento</button></p> </div> </div> </div> </section> </div> </section> </div> <br /><br /><br /><br /><br /><br /> <?php include("include/footer.php"); ?> </body> </html>

o erro é na :

foreach(array_combine($_POST['tiposervico'], $_POST['qt']) AS $v1 => $v2) { $teste[] = "$v1 - $v2<br />";}

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Pegar valores dinâmicos de vários selcts

25-08-2016 11:45

Qual erro está mostrando?

Para capturar e depois exibir os valores você pode fazer assim:

<?php $servicos = ""; foreach(array_combine($_POST['tiposervico'], $_POST['qt']) AS $v1 => $v2) { $servicos.= "$v1 - $v2<br />"; } echo $servicos; ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

Re: Pegar valores dinâmicos de vários selcts

25-08-2016 12:36

deu certo:

<?php $emailsender = "meue-mail@.com.br"; /* Verifica qual éo sistema operacional do servidor para ajustar o cabeçalho de forma correta. */ if(PATH_SEPARATOR == ";") $quebra_linha = "\r\n"; //Se for Windows else $quebra_linha = "\n"; //Se "não for Windows" // Passando os dados obtidos pelo formulário para as variáveis abaixo $assunto = "Solicitação de Orçamento "; $empresa = $_POST['empresa']; $nome = $_POST['nome']; $telefone = $_POST['telefone']; $email = $_POST['email']; $cidade = $_POST['cidade']; $servicos = ""; foreach(array_combine($_POST['tiposervico'], $_POST['qt']) AS $v1 => $v2) { $servicos.= "$v1 - $v2<br />"; } $mensagem = $_POST['mensagem']; $emaildestinatario = 'meue-mail@.com.br'; /* Montando a mensagem a ser enviada no corpo do e-mail. */ $mensagemHTML = '<hr></hr> <p>Empresa: '.$empresa.'</p><br /> <p>Nome: '.$nome.'</p><br /> <p>Telefone: '.$telefone.'</p><br /> <p>E-Mail: '.$email.'</p><br /> <p>Cidade: '.$cidade.'</p><br /> <p>Tipo de Serviço:</p><br />'. $servicos.'</p><br /> <p>Detalhes: '.$mensagem.'</p><br /> <hr></hr>'; /* Montando o cabeçalho da mensagem */ $headers = "MIME-Version: 1.1" .$quebra_linha; $headers .= "Content-type: text/html; charset=utf-8" .$quebra_linha; // Perceba que a linha acima contém "text/html", sem essa linha, a mensagem não chegará formatada. $headers .= "From: " . $emailsender.$quebra_linha; $headers .= "Reply-To: " . $email . $quebra_linha; // Note que o e-mail do remetente será usado no campo Reply-To (Responder Para) /* Enviando a mensagem */ //É obrigatório o uso do parâmetro -r (concatenação do "From na linha de envio"), aqui na Locaweb: if(!mail($emaildestinatario, $assunto, $mensagemHTML, $headers ,"-r".$emailsender)){ // Se for Postfix $headers .= "Return-Path: " . $emailsender . $quebra_linha; // Se "não for Postfix" mail($emaildestinatario, $assunto, $mensagemHTML, $headers ); } ?> <?php $h1 = 'Orçamento Enviado!'; $description = 'Seu orçamento foi enviado com sucesso'; $keywords = 'Orçamento enviado com sucesso, orçamento VServ, Enviar orçamento para VServ'; ?> <?php include("include/head.php"); ?> <meta name="description" content="<?=$description?>" /> <meta name="keywords" content="<?=$keywords?>" /> </head> <body> <?php include("include/header.php"); ?> <!-- SUB BANNER --> <section class="sub-bnr" style="background:url(images/banner-pagina-envia.jpg) no-repeat;"> <div class="position-center-center"> <div class="container"> <h4><?=$h1?></h4> </div> </div> <div class="bread"> <!-- Breadcrumb --> <div class="container"> <h6><?=$h1?></h6> <ol class="breadcrumb pull-right"> <li> <a href="index.php" itemprop="url" title="Home"> <span itemprop="title">Home</span> </a> </li> <li> <a href="<?=$url?>" itemprop="url" title="<?=$h1?>"> <span itemprop="title"><?=$h1?></span> </a> </li> </ol> </div> </div> </section> <br /><br /><br /><br /><br /> <div id="content"> <!-- CONTACT --> <section class="contact-page padding-top-50 padding-bottom-50"> <!-- CONTACT FORM --> <div class="container"> <div class="row margin-top-50 margin-bottom-50"> <div class="col-md-12"> <div class="heading text-left margin-bottom-10"> <h3>Orçamento solicitado com sucesso!</h3> </div> <p><?=$nome;?>, mais breve possível entraremos em contato.</p> <p> <h5>Confira seu orçamento</h5> <hr></hr> <p>Empresa: <?=$empresa?></p><br /> <p>Nome: <?=$nome?></p><br /> <p>Telefone: <?=$telefone?></p><br /> <p>E-Mail: <?=$email?></p><br /> <p>Cidade: <?=$cidade?></p><br /> <p>Tipo de Serviço: <br /> <?php foreach(array_combine($_POST['tiposervico'], $_POST['qt']) AS $v1 => $v2) { echo "<br />$v1 <br /> Quantidade: $v2<br /><br />"; } ?> </p><br /> <p>Detalhes: <?=$mensagem?></p><br /> </p> <p><button type="button" value="Voltar" class="btn" id="btn_submit" onclick="javascript:window.history.go(-1)">Solicitar outro orçamento</button></p> </div> </div> </div> </section> </div> </section> </div> <br /><br /><br /><br /><br /><br /> <?php include("include/footer.php"); ?> </body> </html>

:rock:
1

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado