Jump to content
Fórum Script Brasil
  • 0

Entregando valor ao campo hidden


Carlos Rocha

Question

Pessoal.

Bom Dia.

Estou numa dificuldade enorme e preciso da ajuida de vocês.

Seguinte:

Tenho um form que gera uma lista (via while php), de fornecedores.

Cada volta desse while retorna apenas um fornecedor.

Daí, dentro dessew while, e para cada fornecedor, eu faço outrop while para listar os produtos desse fornecedores.

Bom, acontece que no primeiro while onde eu listo os fonecedores, eu crio um campo texto o comprador colocar alguma obsrvaçao:

<input type=\"text\" name=\"{$i}[observa_cli]\"  id=\"{$i}[observa_cli]\" value=\"\" style=\"border-color:black\">
e dois radio buttons para o comprador escolher s quer pagar os produtos daquele fornecedor a vista ou a prazo. Acontece, que para cada produto escolhido eu preciso enviar junto dele, em um array php ($_POST), essa informação da condiçao de pagamento e a obsrvação. Daí tive a ideia de contar quantos produto o fornecedor tem e criar campos hidden no formulario com o mesmo id name do campo texto e dos radio buttos. Isso já esta sendo feito:
for ($ob=$i;$ob<(mysql_num_rows($sql_produtos_query)+ $i);$ob++)
            {
              if ($ob!=$i)
              {
                  echo "<input type=\"hidden\" name=\"{$ob}[observa_cli]\" id=\"{$ob}[observa_cli]\" value=\"Teste\">";
              }
            }
Acontece que esta sendo feito dinamicamente. Daí, para cada volta do primeiro while (para cada fornecedor) é criado um campos text
<input type=\"text\" name=\"{$i}[observa_cli]\"  id=\"{$i}[observa_cli]\" value=\"\" style=\"border-color:black\">
E dois radio buttons para escolha da condiçao de pagamento. Bom, Agora, eu preciso entregar para cada campo hiddem os valores que o cliente escolheu em condiçao de pgamento e obsrvaçao. Como faço isso a partir do botão de submit do form? A dinamica da coisa seria mais ou menos assim
Produto 1 -> TipoPgto 1(Radio Button 1)                                  -> Observação 1 (Type Text 1)
Produto 2 -> TopoPgto 2(Type Hidden recebendo o valor de Radio button 1) -> Observação 2 (Tupe hidden recebendo valor de Type Text 1)
Produto 3 -> TopoPgto 3(Type Hidden recebendo o valor de Radio button 1) -> Observação 3 (Tupe hidden recebendo valor de Type Text 1)
.......
n

Edited by Carlos Rocha
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Preciso fazer uma soma em JS para implementar o nome do campo.

echo "
<input type=\"radio\" name=\"{$i}[radio_pgto]\" id=\"{$i}[radio_pgto]\" value=\"1\" checked=\"checked\" onclick=\"fecha('{$i}[div_pgto_prazo]')\" onchange=\"{$i+1}[radio_pgto].value=this.value\"\"> À vista
<input type=\"radio\" name=\"{$i}[radio_pgto]\" id=\"{$i}[radio_pgto]\" value=\"2\" onclick=\"abre('{$i}[div_pgto_prazo]')\" onchange=\"{$i+1}[radio_pgto].value=this.value\"\"> À prazo
<div id=\"{$i}[div_pgto_prazo]\" style=\"display:none\">
Prazos para pagamento para produtos deste fornecedor: <label id=\"{$i}[label_prazo]\">$pgto_prazo</label>
</div>
";
Como faço?
onchange=\"{$i+1}[radio_pgto].value=this.value\"

Link to comment
Share on other sites

  • 0

Criei essa função:

// JavaScript Document
function entrega_valores(numrow, valor_i, valor_campo, nome_campo)
{
for(i=0;i<eval(numrow+valor_i-1);i++)
{

'document.getElementById('+eval(i+1)+'['+nome_campo+']).value=valor_campo';
}
}
E estou chamando ela de do evento no campo radio e no campo text para que eles complementem os hiddens. Não da erro, mas também não funciona.
echo "
<input type=\"radio\" name=\"{$i}[radio_pgto]\" id=\"{$i}[radio_pgto]\" value=\"1\" checked=\"checked\" onclick=\"fecha('{$i}[div_pgto_prazo]'); entrega_valores($numrows,$i, this.value,'radio_pgto' )\"\"> À vista
<input type=\"radio\" name=\"{$i}[radio_pgto]\" id=\"{$i}[radio_pgto]\" value=\"2\" onclick=\"abre('{$i}[div_pgto_prazo]'); entrega_valores($numrows,$i, this.value,'radio_pgto' )\"\"> À prazo
<div id=\"{$i}[div_pgto_prazo]\" style=\"display:none\">
Prazos para pagamento para produtos deste fornecedor: <label id=\"{$i}[label_prazo]\">$pgto_prazo</label>
</div>

Link to comment
Share on other sites

  • 0

apenas use o campo de obs e os dois radio buton para cada fornecedor;

ao enviar o form para a página de processo do php.

adicione os dados para cada produto.

por exemplo:

[ ] Banana

[x] Maçã

[ ] Laranja

[x] Limão

[ ] Goiaba

$array1[] = maçã

$array1[] = obs

$array1[] = condicao pagamento

$array2[] = Limão

$array2[] = obs

$array2[] = condicao pagamento

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...