Jump to content

Recommended Posts

Posted (edited)

Pessoal.

Tenho um formulário com campos dinãmicos que, ao ser rodao o loop, gera o html abaixo

............

 <div id="div40">
 <fieldset style="width:650px">
  <legend>Tipo</legend>
  <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo40' name='nomeTipo[4][0]' value="AP" /><br />
  <label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas40' name='qtdePessoas[4][0]' value="2" /><br />
  <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco40' name='preco[4][0]' value="80,00" /><br />
  <label class='passo2'>Descrição</label> : <textarea id='descricao40' name='descricao[4][0]' cols='40' rows='5'>AP</textarea><br />
</fieldset>
<input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'><br><br>
 </div>

 <div id="div41">
 <fieldset style="width:650px">
  <legend>Tipo</legend>
  <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo41' name='nomeTipo[4][1]' value="SUITE" /><br />
  <label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas41' name='qtdePessoas[4][1]' value="3" /><br />
  <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco41' name='preco[4][1]' value="140,00" /><br />
  <label class='passo2'>Descrição</label> : <textarea id='descricao41' name='descricao[4][1]' cols='40' rows='5'>SUITE</textarea><br />
</fieldset>
<input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'><br><br>
 </div>

 <script>var qtdeCamposForm=2;</script>
 <div id="div4"><input type="button" value="Adicionar campos" onclick="addCampos3(this.parentNode.id, 4)" />
 </div><br><br>

 <br><br><input type="button" value="Enviar" onclick="valida_envia_empresa(this.form)" />
</form>

Note que existe uma separação entre as div's <div id="div40"> e <div id="div41">

Acontece que eu tenho um script que gera bloco de div's como estas com seus devidos campos dentro.

Quando eu clicko em Adicionar Campos, os campos realmente são criados.

Como por exemplo:

3.png

Essa, é a tela de deputação do chrome.

Mas, quando mando exibir o código fonte, o campo não aparece. Igual esta no bloco de código acima.

Veja no próprio browser;

1.png

Mas quando submete o formulário, eu não recebo via POST, todos os blocos. Só estou recebendo 2 (dei um print_r para ver).

<?php
if(isset($_GET["acao"]) and $_GET["acao"]=="cadPreco")
{
print "<pre>";
print_r($_POST);
print "</pre>";

Array
(
[diferenciais_alt_empresas] => Array
	(
		[4] => Os mais diversos apartamentos
	)

[inclusos_alt_empresas] => Array
	(
		[4] => Ar Condicionado
	)

[pgto_alt_empresas] => Array
	(
		[4] => Vista Prazo
	)

[taxa_alt_empresas] => Array
	(
		[4] => n
	)

[taxaValor_alt_empresas] => Array
	(
		[4] => 0,00
	)

[observa_alt_empresas] => Array
	(
		[4] => Nada
	)

[nomeTipo] => Array
	(
		[4] => Array
			(
				[0] => AP
				[1] => SUITE
			)

	)

[qtdePessoas] => Array
	(
		[4] => Array
			(
				[0] => 2
				[1] => 3
			)

	)

[preco] => Array
	(
		[4] => Array
			(
				[0] => 80,00
				[1] => 140,00
			)

	)

[descricao] => Array
	(
		[4] => Array
			(
				[0] => AP
				[1] => SUITE
			)

	)

)

Como resolver isso?

Edited by carcleo
Posted

Segue o código completo:

Eles esta(pelo menos a criação está) dentro do form.

Onde será que esta o erro:

 <form action="?acao=cadPreco&empresa=<?php echo $_GET["empresa"]; ?>&cotacao=<?php echo $_GET["cotacao"]; ?>"  method="post" name="gravatipos" id="gravatipos">
<tr><td colspan="2" align="center">========================</td></tr>
   <tr><td>

<?php 
foreach($servicos as $servicoID)
{
$nomeServicoString="SELECT nome FROM servicos WHERE id=".$servicoID; 
$nomeServicoQuery=$conexao->Query($nomeServicoString);
list($servicoNome)=$nomeServicoQuery->fetch_row();  

$pesquisaServicoString="SELECT id, diferenciais, inclusos, pgto, taxa, taxaValor, observacao 
FROM empresasservicos 
WHERE empresa=".$_GET["empresa"]." and servico=".$servicoID;
$pesquisaServicoQuery=$conexao->Query($pesquisaServicoString);
if ($pesquisaServicoQuery->num_rows>0)
{
list($servicoTipo, $diferenciais, $inclusos, $pgto, $taxa, $taxaValor, $observacao)=$pesquisaServicoQuery->fetch_row();
if($taxa=="s")
{
$taxaValor=formata_moeda($taxaValor);
}
else
{
$taxaValor='0,00';
}
echo "<h2><label>Opções de ".$servicoNome." ao cliente:</label></h2><br />";
?>
<label  class='passo2'>Diferenciais</label> : <textarea name="diferenciais_alt_empresas[<?php echo $servicoID;?>]" id="diferenciais_alt_empresas<?php echo $servicoID;?>" cols="50" rows="2"><?php echo nl2br($diferenciais);?></textarea><br />

<label  class='passo2'>Inclusos</label> : <textarea name="inclusos_alt_empresas[<?php echo $servicoID;?>]" id="inclusos_alt_empresas<?php echo $servicoID;?>" cols="50" rows="2"><?php echo nl2br($inclusos);?></textarea><br />

<label  class='passo2'>Formas de Pagamento</label> : <textarea name="pgto_alt_empresas[<?php echo $servicoID;?>]" id="pgto_alt_empresas<?php echo $servicoID;?>" cols="50" rows="2"><?php echo $pgto; ?></textarea><br /><br />

<label  class='passo2'>Taxa de Serviço?</label> : <input type="radio" name="taxa_alt_empresas[<?php echo $servicoID;?>]" id="taxa_alt_empresass<?php echo $servicoID;?>" value="s" onclick="abre('taxa[<?php echo $servicoID;?>]')" /> Sim      <input type="radio" name="taxa_alt_empresas[<?php echo $servicoID;?>]" id="taxa_alt_empresasn<?php echo $servicoID;?>" checked="checked" value="n"  onclick="fecha('taxa[<?php echo $servicoID;?>]')" /> Não<br />

<div id="taxa<?php echo $servicoID;?>" style="display:none">
<label  class='passo2'>Valor </label> : <input type="text" name="taxaValor_alt_empresas[<?php echo $servicoID;?>]" id="taxaValor_alt_empresas<?php echo $servicoID;?>" value="<?php echo $taxaValor;?>" class="real"/>
</div><br />

<label  class='passo2'>Observação </label> : <textarea name="observa_alt_empresas[<?php echo $servicoID;?>]" id="observa_alt_empresas<?php echo $servicoID;?>"  cols="50" rows="2"><?php echo nl2br($observacao);?></textarea><br /><br />
<?php
if($taxa=="s")
{
echo "<script>document.getElementById('taxa_alt_empresass".$servico."').checked=true;</script>";
echo "<script>document.getElementById('taxa[".$servico."]').style.display = 'block';</script>";
}
else
{
echo "<script>document.getElementById('taxa_alt_empresasn".$servico."').checked=true;</script>";
}

$pesquisaServicoTipoString="SELECT id,empresasservicos,tipo,pessoas,preco,descricao 
FROM empresasservicostipos
WHERE empresasservicos=".$servicoTipo;

$pesquisaServicoTipoQuery=$conexao->Query($pesquisaServicoTipoString);

if ($pesquisaServicoTipoQuery->num_rows>0)
{ 
$contaId=0;

while(list(
$id,
$empresasservicos,
$tipo,
$pessoas,
$preco,
$descricao)=$pesquisaServicoTipoQuery->fetch_row())
{
$preco = formata_moeda($preco);
?>
<div id="div<?php echo $servicoID;?><?php echo $contaId;?>">
 <fieldset style="width:650px">
<legend>Tipo</legend>
<label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo<?php echo $servicoID;?><?php echo $contaId;?>' name='nomeTipo[<?php echo $servicoID;?>][<?php echo $contaId;?>]' value="<?php echo $tipo;?>" /><br /> 
<label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas<?php echo $servicoID;?><?php echo $contaId;?>' name='qtdePessoas[<?php echo $servicoID;?>][<?php echo $contaId;?>]' value="<?php echo $pessoas;?>" /><br /> 
<label class='passo2'>Preço</label> : <input type='text' class="real" id='preco<?php echo $servicoID;?><?php echo $contaId;?>' name='preco[<?php echo $servicoID;?>][<?php echo $contaId;?>]' value="<?php echo $preco;?>" /><br /> 
<label class='passo2'>Descrição</label> : <textarea id='descricao<?php echo $servicoID;?><?php echo $contaId;?>' name='descricao[<?php echo $servicoID;?>][<?php echo $contaId;?>]' cols='40' rows='5'><?php echo nl2br($descricao);?></textarea><br />
</fieldset>
<input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'>                          <br><br>
</div>
<?php
$contaId++;
}
?>
<script>var qtdeCamposForm=<?php echo $contaId;?>;</script>
<div id="div<?php echo $servicoID;?>"><input type="button" value="Adicionar campos" onclick="addCampos3(this.parentNode.id, <?php echo $servicoID;?>)" />
</div><br><br>
<?php
        }
else
{
echo "<h2><label>Tipos para o serviço: ".$servicoNome."</label></h2><br />";
 ?>
<div id="div<?php echo $servicoID;?>"><input type="button" value="Adicionar campos" onclick="addCampos(this.parentNode.id, <?php echo $servicoID;?>)" />
</div><br><br>
<div id="div<?php echo $servicoID;?>0">
<fieldset style="width:650px">
<legend>Tipo</legend>
<label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo<?php echo $servicoID;?>0' name='nomeTipo[<?php echo $servicoID;?>][0]'><br /> 
<label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas<?php echo $servicoID;?>0' name='qtdePessoas[<?php echo $servicoID;?>][0]'><br />
<label class='passo2'>Preço</label> : <input type='text' class="real" id='preco<?php echo $servicoID;?>0' name='preco[<?php echo $servicoID;?>][0]'><br />
<label class='passo2'>Descrição</label> : <textarea id='descricao<?php echo $servicoID;?>0' name='descricao[<?php echo $servicoID;?>][0]' cols='40' rows='5'></textarea><br />
</fieldset>
<input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'>              
<br><br>
</div>
 <?php 
}

}
else
{
echo "<h2><label>Tipos para o serviço: ".$servicoNome."</label></h2><br />";
include("../admin/camposAdicionais.php"); 
?>
<div id="div<?php echo $servicoID;?>"><input type="button" value="Adicionar campos" onclick="addCampos(this.parentNode.id, <?php echo $servicoID;?>)" />
</div><br><br>
<div id="div<?php echo $servicoID;?>0">
 <fieldset style="width:650px">
<legend>Tipo</legend>
<label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo<?php echo $servicoID;?>0' name='nomeTipo[<?php echo $servicoID;?>][0]'><br /> 
<label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas<?php echo $servicoID;?>0' name='qtdePessoas[<?php echo $servicoID;?>][0]'><br />
<label class='passo2'>Preço</label> : <input type='text' class="real" id='preco<?php echo $servicoID;?>0' name='preco[<?php echo $servicoID;?>][0]'><br />
<label class='passo2'>Descrição</label> : <textarea id='descricao<?php echo $servicoID;?>0' name='descricao[<?php echo $servicoID;?>][0]' cols='40' rows='5'></textarea><br />
</fieldset>
<input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'>              
<br><br>
</div>
<?php 
}
}
?>
<br><br><input type="button" value="Enviar" onclick="valida_envia_empresa(this.form)" />
</form>
</td></tr></table>
<?php 
}
}
?>

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.