Ir para conteúdo

Arquivado

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

rcamu

Ajuda com script de inserir linhas

Recommended Posts

Pessoal sou leigo no assunto por isso peço ajuda dos amigos..

 

Fiz um formulário para cadastrar itens num controle de estoque q estou fazendo mas deparei com um probleminha com o script para clonar a linha nessa linha existe um calculo onde a quantidade x o valor unitário é = o total da linha.

na primeira linha ele faz direitinho só que a partir da segunda linha ele perde esse calculo, onde estou errando?

 

Segue parte do formulario onde tem essa parte de clonar

 

script:

 

</script>
        <script type="text/javascript">
function Calc2()
{
Valor1 = parseFloat(document.getElementById('valorUni').value);
Valor2 = parseFloat(document.getElementById('qtd').value);
document.getElementById('valorTot').value = (Valor1*Valor2).toFixed(2);

}
</script>

 

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
  function removeCampo() {
    $(".removerCampo").unbind("click");
    $(".removerCampo").bind("click", function () {
       if($("tr.linhas").length > 1){
        $(this).parent().parent().remove();
       }
    });
  }

  $(".adicionarCampo").click(function () {
    novoCampo = $("tr.linhas:first").clone();
    novoCampo.find("input").val("");
    novoCampo.insertAfter("tr.linhas:last");
    removeCampo();
  });
});
</script>

 

Parte do formulário para clonar:

 

<table border="0" cellpadding="2" cellspacing="4">
    <tr><td class="bd_titulo" disabled="true">ID</td><td class="bd_titulo">Produto</td><td class="bd_titulo">Quantidade</td><td class="bd_titulo">Valor Unitario</td><td class="bd_titulo">Valor Total</td></tr>
  <tr class="linhas">
    <td><input type="text" name="id" style="text-align:center" /></td>
    <td><select name="cat_id">
<?php
while ($row=mysql_fetch_array($qr)){
?>
<option value="<?php echo $row['id']?>"><?php echo $row['nome']?></option>
<?php }?></td>
    <td><input type="text" name="qtd" id="qtd"style="text-align:center" /></td>
    <td><input type="text" name="valorUni" style="text-align:center" id="valorUni" value="<?php echo dinheiro_br( $row['valorUni'])?>" onblur="Calc2()" /></td>
    <td><input type="text" name="valorTot" id="valorTot" style="text-align:center" /></td>
    <td><a href="#" class="removerCampo" title="Remover linha"><img src="img/excluir.jpg" border="0" /></a></td>
  </tr>
  <tr><td colspan="4">
        <a href="#" class="adicionarCampo" title="Adicionar item"><img src="img/+.jpg" border="0" /></a>
    </td></tr>
  <tr>

    </table>
</select>
</select>
<p><input type="submit" value="Cadastrar" /></p>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o problema mudando o java para  só que agora o insert só grava a ultima linha preechida, o que pode ser?

 

<script type="text/javascript">
$(function () {
  function removeCampo() {
    $(".removerCampo").unbind("click");
    $(".removerCampo").bind("click", function () {
       if($("tr.linhas").length > 1){
        $(this).parent().parent().remove();
       }
    });
  }

  $(".adicionarCampo").click(function () {
    novoCampo = $("tr.linhas:first").clone();
    novoCampo.find("input").val("");
    novoCampo.find(".valor_unid").maskMoney({showSymbol:false, decimal:".", thousands:""});
    novoCampo.insertAfter("tr.linhas:last");
    removeCampo();
  });
});
</script>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por meyer
      Olá, pessoal!
       
      Comecei a trabalhar com programação há pouco tempo e sou novo no fórum. Peguei um código que clona um input, porém para remover o input clonado, na primeira vez que clico em remover o botão não faz nada, mas depois do primeiro clique ele funciona normalmente. Como fazer para que o botão remover funcione logo de primeira?
       
      Segue o código:
       
      No <head>:
       
      <script>
          function duplicarCampos() {
              var clone = document.getElementById('origem').cloneNode(true);
              var destino = document.getElementById('destino');
              destino.appendChild(clone);
              var camposClonados = clone.getElementsByTagName('input');
              for (i = 0; i < camposClonados.length; i++) {
                  camposClonados.value = '';
              }
          }
          function removerCampos(id) {
              var node1 = document.getElementById('destino');
              node1.removeChild(node1.childNodes[0]);
          }
      </script>
       
      No <body>:
       
      <form method="post" action="action_obs.php">
          <div class="row">
              <div class="col-md-6">
                  <div id="origem">
                      <input type="text" class="form-control" id="observacao" name="observacao[]" placeholder="Nova observa&ccedil;&atilde;o"><br>
                  </div>
              </div>
          </div>
          <div class="row">
              <div class="col-md-6">
                  <input type="button" class="btn btn-default" value="Adicionar campo" onClick="duplicarCampos();">
                  <input type="button" class="btn btn-default" value="Remover campo" onClick="removerCampos(this);">
                  <input type="hidden" name="id" value="<?php echo $dados[15] ?>">
                  <input type="submit" class="btn btn-success" value="Salvar"><br><br>
              </div>
          </div>
          <div class="row">
              <div class="col-md-6">
                  <div id="destino">
                  </div>
              </div>
          </div>
      </form>
       
      Alguém pode me ajudar com isso? Obrigado.
       
      Rob Niemeyer
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.