Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi, gostaria de saber como enviar os dados de um form criado dinâmicamente para o JavaScript e depois para o PHP.
Os dados do form são de acordo com os registros do db. Até aí tudo bem, mas no form tbm tem btns “submmit” para cada imagem formada por dados recebidos do db.
Então, presciso que ao clicar em um dos btns criado, seja enviado os dados referentes aquela imagem para a pg js e depois para o php.
Ao criar dinamicamente o Input na página estou usando: name=“codigo[]”, por exemplo.
Para receber no js estou usando:
document.getEkementsByName(“codigo[]”);
Como devo fazer para que funcione certinho?
Tentei usar :
document.getEkementsByName mas vai todos os dados de todos as imagens.
Tentei Tbm:
document.getElementByid mas só vai os dados da primeira imagem. Se eu clicar na terceira, quarta ou em outra, só vai os dados da primeira imagem.
Preciso que seja enviado apenas o dado da imagem desejada.
Alguém pode me ajudar?<!-- cria textos enctype="multipart/form-data" -->
<form action=javascript:void(0) method="post" >
<figcaption>
<ul><!-- Nome do item -->
<li><a ><?php print $vnome; ?></a></li>
<!-- Valor de venda do item -->
<li><a><span>R$ <?php print $viditem; ?></span></a></li>
<!-- Observações do item -->
<textarea placeholder="Não foi informado observações para este item." name="obs"
id=ipasch readonly="true" cols="2" rows="5" onchange="vttSubtChange()"
spellcheck="true" contenteditable="true" title="Input text subtitle" >
<?php print substr($vdescr,0,80).'...'; ?></textarea>
<!-- Dados para serem enviados para "advend/cadi-clie.js" - $vidloja.'|'.$vcodi.'|'. - -->
<input type="hidden" name="nvidloja[]" id="ividloja[]"
value="<?php echo $vcodiitem; ?>" />
<!-- Tipo de contrato firmado, se Vendas ou Agendamnto de serviço ou Mostruario de item -->
<?php if($vstat == 'ven'){ ?>
<label>
<input type="submit" name="submit" value="COMPRAR" class="button button:hover"
onclick="comprar()" />
</label>
<?php }elseif($vstat == 'ser'){ ?>
<label>
<input type="submit" name="submit" value="AGENDAR" class="button button:hover"
onclick="pegar()" />
</label>
<?php } ?>
<?php if($vstat != 'apr'){ ?> <!-- Só mostra se for para indicar qt a adiquirir. -->
<label><input type="text" name="qtvend[]" placeholder="informe a Qt." onkeyup="num(this)"
id="iqtvend[]" value="<?php print $vstat.($i++).'-'.$vidloja.'-'.$vcodiitem;
// $i -> Apenas para verificação ?>"
autofocus /></label>
<?php } ?>
</ul>
</figcaption>
</form>
no java
function pegar(){
}então é um form para cada grupo de inputs?
Basta tirar a função pegar() do onclick do input, e colocar no onsubmit do form.
Ai você percorre todos os campos do form com base nele mesmo.
>
Em 05/04/2018 at 18:19, William Bruno disse:
então é um form para cada grupo de inputs?
Basta tirar a função pegar() do onclick do input, e colocar no onsubmit do form.
Ai você percorre todos os campos do form com base nele mesmo.
Bem, entendi, mas como assim percorrer todos os campos do form...
Nos testes em que fiz está dando no mesmo. ou vem apenas o primeiro item ou vem todos de uma só vez.
Preciso que venha apenas o que eu escolher "clicar" para enviar.
no js testei:
/* ven todo o Array, mais eu só preciso de um * var dadosVeio1 = document.getElementsByName("qtvend[]")[2].value; //undefined */
var dadosVeio1 = document.getElementsByName("qtvend[]");
for(i = 0; i < dadosVeio1.length; i++){
alert($(dadosVeio1[i]).val());
e tbm tentei::
/ // vem uma string, mas apenas o primeiro reg /
var dadosVeio1 = document.getElementById("iqtvend[]");
alert($(dadosVeio1).val());
// console.log($(dadosVeio1).val());
você poderia me dar exemplos de como, ou melhor, qual ou quais comando se utiliza para isso?
Estou migrando do Delphi e não tenho muita experiencia com js não, qual linha de comando eu consigo tais feitos lá no js? É que estou usando o js em pagina separada. "dados.js".
Se você puder me repassar dicas de códigos ou como acha-los na net eu te agradeceria.
Grato pela atenção.
Como é o seu HTML?
Você tem que navegar no DOM.