Ir para conteúdo

POWERED BY:

Arquivado

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

dinhotaswolf

[Resolvido] Como pegar campos adicionados dinamicamente via javas

Recommended Posts

Olá amigos,

 

Não estou conseguindo enviar informações de campos adicionados dinamicamente pelo javascript para o formmail e enviar para o email.

 

Fico grato por qualquer tipo de ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

trabalhe com arrays

 

<input type="text" name="campo[]" />
<input type="text" name="campo[]" />

 

pesquise.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim estou utilizando arrays. Porém, eles estão dentro de um código javascript e não consigo é pegar os valores desses arrays no código PHP que vai fazer o envio dos dados para o email.

 

Não estou é conseguindo é pegar esses valores que estão sendo gerados no script do javascript. Não sei se estou sendo claro.

 

Fico grato por qualquer tipo de ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque isso no php:

 

<?php
echo '<pre>';
var_dump( $_POST );

 

para o php, tanto faz se você criou com javascript ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque no comeco da pagina para ver o resultado do que voce esta passando

Compartilhar este post


Link para o post
Compartilhar em outros sites

O resultado do código acima foi:

 

array(11) {
 ["obrigatorio"]=>
 string(0) ""
 ["destinatario"]=>
 string(24) "dinhotaswolf@hotmail.com"
 ["assunto"]=>
 string(22) "Formulario : respostas"
 ["campos_faltando_redirecionar"]=>
 string(13) "orcamento.php"
 ["redirecionar"]=>
 string(9) "index.php"
 ["nome"]=>
 string(34) "osvaldo de freitas gonçalves filho"
 ["telefone"]=>
 string(14) "(11) 0000-0000"
 ["email"]=>
 string(24) "dinhotaswolf@hotmail.com"
 ["assunto_mensagem"]=>
 string(9) "Orçamento"
 ["mensagem"]=>
 string(7) "asd qwe"
 ["Enviar"]=>
 string(6) "Enviar"
}

Aí estão todos os campos criados dentro do formulário e os campos ocultos. Os campos criados dinamicamente não estão aparecendo aí, são: (tipo, comp, larg, acab, qtde e item).

 

A única referência que tenho aos campos criados no javascript dentro do formulário é o código abaixo:

 

<table width="535" align="center" border="0">
<tr>
	<td colspan="7" width="535" height="1">
	        <input type="button" value="Adicionar produtos" onclick="addCampos();" />
		<input type="button" value="Remover todos os produtos" onclick="removeTodosCampos();" />
	</td>
</tr>
</table>

<table width="535" align="center" border="0" id="tabela">
<tr>
	<td width="70" bgcolor="#A9D9B1"><center><p>Tipo</p></center></td>
	<td width="90" bgcolor="#A9D9B1"><center><p>Comp. (mm)</p></center></td>
	<td width="90" bgcolor="#A9D9B1"><center><p>Larg. (mm)</p></center></td>
	<td width="70" bgcolor="#A9D9B1"><center><p>Acab.</p></center></td>
	<td width="70" bgcolor="#A9D9B1"><center><p>QTDE.</p></center></td>
	<td width="70" bgcolor="#A9D9B1"><center><p>Item</p></center></td>
	<td width="15"></td>
</tr>
</table>

Creio que falte algo no formulário para que o mesmo envie os dados ao formmail.

 

Como pode ver não existe nada fazendo referência aos campos criados e creio que seja por isso que não esteja sendo enviado os dados.

 

Não faço a menor ideia de como faço isso.

 

Fico grato por qualquer tipo de ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema é na função javascript: addCampos()

Vi teu tópico em js. Provavelmente você está inserindo os campos fora do form.

 

faça o append() dentro do form, ou seja, o elemento #tabela deve ser filho do teu formulário

Compartilhar este post


Link para o post
Compartilhar em outros sites

... poxa vida hein?! html básico..

 

acredito que o teu atual está assim:

<form>
//.. 
</form>
<table id="tabela">
//.. 
</table>

 

deve ficar assim:

<form>
   //.. 

   <table id="tabela">
       //.. 
   </table>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá William Bruno,

 

desculpe mas achei que poderia ser alguma outra coisa. Pois, meu formulário está como você citou acima. Veja abaixo o código completo do formulário.

 

<form name="formulario" method="post" action="formail.php">
<input type="hidden" name="obrigatorio" value="">
<input type="hidden" name="destinatario" value="dinhotaswolf@hotmail.com">
<input type="hidden" name="assunto" value="Formulario : respostas">
<input type="hidden" name="campos_faltando_redirecionar" value="orcamento.php">
<input type="hidden" name="redirecionar" value="index.php">

<tr>
	<td>
		<table border="0" align="center">
			<tr> 
				<td><p>Nome:</p></td>
				<td><input class="" type="text" name="nome" size="50"></td>
			</tr>
			<tr> 
				<td><p>Telefone:</p></td>
				<td><input class="" type="text" name="telefone" size="14" id="tel"></td>
			</tr>
			<tr> 
				<td><p>e-mail:</p></td>
				<td><input class="" type="text" name="email" size="50"></td>
			</tr>
			<tr>
				<td><p>Assunto:</p></td>
				<td> 
					<select class="" name="assunto_mensagem">
						<option class="form_campos" value="Orçamento" selected>Orçamento</option>
						<option class="form_campos" value="Sugestão">Sugestão</option>
						<option class="form_campos" value="Opinião">Opinião</option>
						<option class="form_campos" value="Dúvidas">Dúvidas</option>
						<option class="form_campos" value="Outros">Outros</option>
					</select>
				</td>
			</tr>
			<tr> 
				<td colspan="2">
					<br>

					<table width="535" align="center" border="0">
						<tr>
							<td colspan="7" width="535" height="1">
								<input type="button" value="Adicionar produtos" onclick="addCampos();" />
								<input type="button" value="Remover todos os produtos" onclick="removeTodosCampos();" />
							</td>
						</tr>
					</table>
					<table width="535" align="center" border="0">
						<tr>
							<td width="70" bgcolor="#A9D9B1"><center><p>Tipo</p></center></td>
							<td width="90" bgcolor="#A9D9B1"><center><p>Comp. (mm)</p></center></td>
							<td width="90" bgcolor="#A9D9B1"><center><p>Larg. (mm)</p></center></td>
							<td width="70" bgcolor="#A9D9B1"><center><p>Acab.</p></center></td>
							<td width="70" bgcolor="#A9D9B1"><center><p>QTDE.</p></center></td>
							<td width="70" bgcolor="#A9D9B1"><center><p>Item</p></center></td>
							<td width="15"></td>
						</tr>
					</table>
					<table width="535" align="center" border="0" id="tabela"></table>
				</td>
			</tr>
			<tr><td><br></td></tr>
			<tr> 
				<td><p>Informações adicionais:</p></td>
				<td><textarea class="" name="mensagem" cols="50" rows="10"></textarea></td>
			</tr>
			<tr> 
				<td colspan="2">
					<div align="center"> 
						<input class="" type="submit" name="Enviar" value="Enviar">
						<input class="" type="reset" name="Limpar" value="Limpar">
					</div>
				</td>
			</tr>
		</table>
	</td>
</tr>
</form>

Por isso, não estou entendendo o motivo dos campos não estarem sendo enviados ao formmail.

 

Creio que eu deva estar esquecendo algo.

 

Fico grato se puder me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o html está incorreto.

 

não faz sentido esse tr e td largados ai.

 

valide a tua marcação. Provavelmente o browser está jogando a table para fora do formulario, por causa desse erro de html.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá William Bruno,

 

fiz o que falou. Retirei os tr e td que estavam com o <br> e funcionou somente no IE.

 

Nos outros continua o problema. O que será que pode ser.

 

Fico grato por qualquer ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então você ainda tem problemas de marcação HTML.

 

valide:

http://validator.w3.org/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá William Bruno!

 

Realmente meu código estava com alguns erros.

 

Abaixo o código que estava antes das correções:

 

<table align="center">
<form name="formulario" method="post" action="formail.php">
	<input type="hidden" name="obrigatorio" value="">
	<input type="hidden" name="destinatario" value="vendas@e-yoursolutions.com">
	<input type="hidden" name="assunto" value="Formulario : respostas">
	<input type="hidden" name="campos_faltando_redirecionar" value="orcamento.php">
	<input type="hidden" name="redirecionar" value="index.php">

	<tr>
		<td>
			<table border="0" align="center">
				<tr> 
					<td><p>Nome:</p></td>
					<td><input class="" type="text" name="nome" size="50"></td>
				</tr>
				<tr> 
					<td><p>Telefone:</p></td>
					<td><input class="" type="text" name="telefone" size="14" id="tel"></td>
				</tr>
				<tr> 
					<td><p>e-mail:</p></td>
					<td><input class="" type="text" name="email" size="50"></td>
				</tr>
				<tr>
					<td><p>Assunto:</p></td>
					<td> 
						<select class="" name="assunto_mensagem">
							<option class="form_campos" value="Orçamento" selected>Orçamento</option>
							<option class="form_campos" value="Sugestão">Sugestão</option>
							<option class="form_campos" value="Opinião">Opinião</option>
							<option class="form_campos" value="Dúvidas">Dúvidas</option>
							<option class="form_campos" value="Outros">Outros</option>
						</select>
					</td>
				</tr>
				<tr> 
					<td colspan="2">
						<br>

						<table width="535" align="center" border="0">
							<tr>
								<td colspan="7" width="535" height="1">
									<input type="button" value="Adicionar produtos" onclick="addCampos();" />
									<input type="button" value="Remover todos os produtos" onclick="removeTodosCampos();" />
								</td>
							</tr>
						</table>
						<table width="535" align="center" border="0">
							<tr>
								<td width="70" bgcolor="#A9D9B1"><center><p>Tipo</p></center></td>
								<td width="90" bgcolor="#A9D9B1"><center><p>Comp. (mm)</p></center></td>
								<td width="90" bgcolor="#A9D9B1"><center><p>Larg. (mm)</p></center></td>
								<td width="70" bgcolor="#A9D9B1"><center><p>Acab.</p></center></td>
								<td width="70" bgcolor="#A9D9B1"><center><p>QTDE.</p></center></td>
								<td width="70" bgcolor="#A9D9B1"><center><p>Item</p></center></td>
								<td width="15"></td>
							</tr>
						</table>
						<table width="535" align="center" border="0" id="tabela"></table>
					</td>
				</tr>
				<tr> 
					<td><p>Informações adicionais:</p></td>
					<td><textarea class="" name="mensagem" cols="50" rows="10"></textarea></td>
				</tr>
				<tr> 
					<td colspan="2">
						<div align="center"> 
							<input class="" type="submit" name="Enviar" value="Enviar">
							<input class="" type="reset" name="Limpar" value="Limpar">
						</div>
					</td>
				</tr>
			</table>
		</td>
	</tr>
</form>
</table>

Modifiquei o código acima para o código abaixo:

 

<form name="formulario" method="post" action="formail.php">
<input type="hidden" name="obrigatorio" value="">
<input type="hidden" name="destinatario" value="vendas@e-yoursolutions.com">
<input type="hidden" name="assunto" value="Formulario : respostas">
<input type="hidden" name="campos_faltando_redirecionar" value="orcamento.php">
<input type="hidden" name="redirecionar" value="index.php">

<table align="center">
	<tr>
		<td>
			<table border="0" align="center">
				<tr> 
					<td><p>Nome:</p></td>
					<td><input class="" type="text" name="nome" size="50"></td>
				</tr>
				<tr> 
					<td><p>Telefone:</p></td>
					<td><input class="" type="text" name="telefone" size="14" id="tel"></td>
				</tr>
				<tr> 
					<td><p>e-mail:</p></td>
					<td><input class="" type="text" name="email" size="50"></td>
				</tr>
				<tr>
					<td><p>Assunto:</p></td>
					<td> 
						<select class="" name="assunto_mensagem">
							<option class="form_campos" value="Orçamento" selected>Orçamento</option>
							<option class="form_campos" value="Sugestão">Sugestão</option>
							<option class="form_campos" value="Opinião">Opinião</option>
							<option class="form_campos" value="Dúvidas">Dúvidas</option>
							<option class="form_campos" value="Outros">Outros</option>
						</select>
					</td>
				</tr>
				<tr> 
					<td colspan="2">
						<br>

						<table width="535" align="center" border="0">
							<tr>
								<td colspan="7" width="535" height="1">
									<input type="button" value="Adicionar produtos" onclick="addCampos();">
									<input type="button" value="Remover todos os produtos" onclick="removeTodosCampos();">
								</td>
							</tr>
						</table>
						<table width="535" align="center" border="0" id="tabela">
							<tr>
								<td width="70" bgcolor="#A9D9B1"><center><p>Tipo</p></center></td>
								<td width="90" bgcolor="#A9D9B1"><center><p>Comp. (mm)</p></center></td>
								<td width="90" bgcolor="#A9D9B1"><center><p>Larg. (mm)</p></center></td>
								<td width="70" bgcolor="#A9D9B1"><center><p>Acab.</p></center></td>
								<td width="70" bgcolor="#A9D9B1"><center><p>QTDE.</p></center></td>
								<td width="70" bgcolor="#A9D9B1"><center><p>Item</p></center></td>
								<td width="15"></td>
							</tr>
						</table>
					</td>
				</tr>
				<tr> 
					<td><p>Informações adicionais:</p></td>
					<td><textarea class="" name="mensagem" cols="50" rows="10"></textarea></td>
				</tr>
				<tr> 
					<td colspan="2">
						<div align="center"> 
							<input class="" type="submit" name="Enviar" value="Enviar">
							<input class="" type="reset" name="Limpar" value="Limpar">
						</div>
					</td>
				</tr>
			</table>
		</td>
	</tr>
</table>
</form>

Agora esta enviando em todos os navegadores.

 

Fico realmente muito grato pela sua ajuda.

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.