Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal.
Tenho um formulário, o qual a adição de inputs é dinâmica conforme o código abaixo:
<div>
<span><label>Medidas</label></span>
<span>
<script>
$(document).ready(function(){
$("#add").click(function(){
$("#inputs").append('<input type="text" name="quantidade[]">');
$("#inputs").append('<input type="text" name="largura[]">');
$("#inputs").append('<input type="text" name="comprimento[]">');
$("#inputs").append('<input type="text" name="altura[]">');
return false;
});
});
</script>
<div id="inputs">
<input name="quantidade" type="text">
<input name="largura" type="text">
<input name="comprimento" type="text">
<input name="altura" type="text">
</div>
</span><a href="javascript:;" id="add">+</a>
</div>
Até ai consigo ao clicar no "+" adicionar mais inputs.
O envio por e-mail sei fazer quando já estou com os dados, mais como fazer para receber por exemplo um "$_POST" com esses dados e exibi-los?
Eu gostaria de receber algo como exemplo:
Quantidade: 10
Largura: 2cm
Comprimento: 1cm
Altura: 10cm
Quantidade: 15
Largura: 3cm
Comprimento: 7cm
Altura: 9cm
Quantidade: 20
Largura: 4cm
Comprimento: 5cm
Altura: 2cm
Obrigado.
O conteúdo precisa estar dentro das tags** <form> </form>**, e para ser enviado como POST, basta explicitar isso no atributo **method**
Veja esse exemplo:
https://www.w3schools.com/PhP/showphp.asp?filename=demo_form_post@EdCesar, boa tarde.
Obrigado pelo retorno.
Acho que me expressei mal.
Está tudo dentro das tags <form></form> e com method=POST, só queria saber como recebo na página PHP, não sei como receber um array, em uma varíavel. Pois o comum seria:
$dados = $_POST['campo'];
Mais e quando se trata desse campos dinâmico que vem de 4 em 4 campos, pois vai depender do usuário ir adicionando ou não mais linhas?
Obrigado desde já e me desculpe por não ter me expressado corretamente na minha dúvida.Faz assim:
for ( $i=0 ; $i<(count($_POST['name'])) ; $i++ )
{
$newname = $_POST['name'][$i];
}@AndersonWS, bom dia.
Obrigado pelo retorno.
Fiz os testes mais não consegui o resultado.
Fiz assim:
<?php
if($_POST) {
echo 'Nome: ' .$nome = $_POST['nome_remetente'];
for ( $i=0 ; $i<(count($_POST['quantidade'])) ; $i++ ){
echo '<br />Qtd.: ' .$quantidade = $_POST['quantidade'][$i];
}
for ( $i=0 ; $i<(count($_POST['largura'])) ; $i++ ){
echo '<br />Largura: ' .$largura = $_POST['largura'][$i];
}
}
?>
<form method="post" action="meu-teste.php">
<div>
<span><label>Nome do Remetente</label></span>
<span><input name="nome_remetente" type="text" class="textbox" placeholder="Remetente" required ></span>
</div>
<div>
<span><label>Mercadorias</label></span>
<span>
<script>
$(document).ready(function(){
$("#add").click(function(){
$("#inputs").append('<div class="clear"></div><input type="text" name="quantidade[]" style="width: 10em !important; float: left; margin-right: 0.5em;" class="textbox" placeholder="Quantidade" />');
$("#inputs").append('<input type="text" name="largura[]" style="width: 10em !important; float: left;" class="textbox" placeholder="Largura" />');
return false;
});
});
</script>
<div id="inputs">
<input name="quantidade[]" type="text" style="width: 10em !important; float: left; margin-right: 0.5em;" class="textbox" placeholder="Quantidade" required >
<input name="largura[]" type="text" style="width: 10em !important; float: left;" class="textbox" placeholder="Largura" required >
</div>
</span> <a href="javascript:;" id="add">+</a>
</div>
<div>
<span><input type="submit" value="Solicitar"></span>
</div>
</form>
Mais quando faço a inserção com mais de uma linha ele só reconhece a primeira.
O que pode ser?
Obrigado e agradeço.Pessoal, bom dia.
Obrigado.
Consegui pelo utilizando o link aqui do fórum mesmo:
https://forum.imasters.com.br/topic/426085-resolvido enviar-array-por-email-formulario/
Muito obrigado.
>
1 hora atrás, juninhogpe disse:
Mais quando faço a inserção com mais de uma linha ele só reconhece a primeira.
O que pode ser?
Fiz o teste aqui e retornou todas as linhas, olha seu script de "adicionar + campos", pode ser ali.
<?php
if($_POST) {
echo 'Nome: ' .$nome = $_POST['nome_remetente'];
for ( $i=0 ; $i<(count($_POST['quantidade'])) ; $i++ ){
echo '<br />Qtd.: ' .$quantidade = $_POST['quantidade'][$i];
}
for ( $i=0 ; $i<(count($_POST['largura'])) ; $i++ ){
echo '<br />Largura: ' .$largura = $_POST['largura'][$i];
}
}
?>
<form method="post" action="">
<div>
<span><label>Nome do Remetente</label></span>
<span><input name="nome_remetente" type="text" class="textbox" placeholder="Remetente" required ></span>
</div>
<div>
<span><label>Mercadorias</label></span>
<span>
<div id="inputs">
<input name="quantidade[]" type="text" style="width: 10em !important; float: left; margin-right: 0.5em;" class="textbox" placeholder="Quantidade" required >
<input name="largura[]" type="text" style="width: 10em !important; float: left;" class="textbox" placeholder="Largura" required >
<input name="quantidade[]" type="text" style="width: 10em !important; float: left; margin-right: 0.5em;" class="textbox" placeholder="Quantidade" required >
<input name="largura[]" type="text" style="width: 10em !important; float: left;" class="textbox" placeholder="Largura" required >
</div>
</span>
</div>
<div>
<span><input type="submit" value="Solicitar"></span>
</div>
</form>
Mas se já resolveu, blz!
Bom dia pessoal.
Alguém tem alguma ideia que possa me ajudar?
Obrigado.