Ir para conteúdo
pedro.hso

Clone row: com todos os elementos e funções

Recommended Posts

Ola, sou iniciante na programação, mas estou desenvolvendo um sistema de gerenciamento, onde tenho que dar entrada de notas, ou seja estas notas necessitam de mais produtos eventualmente, e queria adicionar dinamicamente estes campos, realizando o clone row , no entanto consigo duplicar mas nao carrega as minhas funções de options.

 <div id="main" class="container-fluid">
  <form action="des_geral.php" method="post">
  <div class="row">
  <div class="col-xs-3">
 <label for="campo2">Data</label>
  <input type="date" class="form-control" id="data" name="data" > 
  </div>
 <div class="col-xs-3 ">
 <label for="campo5">Nº Nota Fiscal</label>
  <input type="number" class="form-control" min="1" id="nf" name="nf" > 
  </div> 
 
  <div class="col-xs-6">
   <label for="campo1">Fornecedor</label>
   <div class="bs-docs-example no-code">
   <select name="fornecedor" id="fornecedor" class="form-control" placeholder="Comece a digitar...">
   	<option></option>
	<?php
		$dados=mysql_query("SELECT  * from cad_fornecedor");
    while($row = mysql_fetch_assoc($dados)) {
		echo "<option value='".$row["id"]."'>".$row["nome"]."</option>";
	}  
		?>
		</select></div>
 </div>
 </div>
	  <div class="row">
	  <div class="col-xs-12">
	  	<table border="0" cellpadding="0" cellspacing="0">
	  		<thead>
	  			<tr>
	  				<th>Produto</th>
	  				<th>Quantidade</th>
	  				<th>Unidade</th>
	  				<th>Valor Uni.(R$)</th>
	  				<th>Valor total(R$)</th>
	  				<th class="actions">Ações</th>
	  			</tr>
	  		</thead>
	  		<tbody id="tabela">
	  			<tr id="linha" class="row_0">
	  				<td ><select style="width: 300px" name="produto" id="produto" onChange="retorna('1','1');" class="form-control" placeholder="Comece a digitar">
   	<option></option>
   	<?php
		$dados=mysql_query("SELECT  * FROM cad_produtos");
    while($row = mysql_fetch_assoc($dados)) {  

		echo "<option value='".$row["id"]."'>".$row["nome"]."</option>";
	}	 
		?>
		</select> </td>
  					<td><input type="number" class="form-control" style="width: 100px" oninput="calculate('linha')" min="1" id="qtd" name="qtd" ></td>
  					<td><input class="form-control" style="width: 100px" value="" name="unidade" id="unidade"  readonly></td>
  					<td><input type="text" class="form-control" style="width: 150px" oninput="calculate('linha')" min="0" step="0.01" id="vuni" name="vuni" ></td>
  					<td><input type="text" class="form-control" style="width: 150px" readonly min="0" step="0.01" id="vtot" name="vtot" ></td>
  					<td><a id="add" onClick="addRow('tabela')" class="btn btn-success btn-xs" href="#">Mais Campos</a><a id="remover" class="btn btn-danger btn-xs"  href="#">Remover</a></td>
	  			</tr>
	  		</tbody>
	  	</table>
	  	<table style="width: 900px"><tbody>
	  		<tr>
	  				<th style="width: 300px">Total</th>
	  				<th style="width: 100px"></th>
	  				<th style="width: 100px"></th>
	  				<th style="width: 150px"></th>
	  				<th style="width: 150px"></th>
	  				<th style="width: 100px"></th>
	  			</tr>
	  	</tbody></table>
	  </div>
	  </div>
    </div>
  <hr />
   <div id="actions" class="row">
    <div class="col-md-12">
      <button id="salvar_des" name="salvar_des" type="submit" class="btn btn-primary">Salvar</button>
      <a href="des_geral.php" class="btn btn-default">Cancelar</a>
    </div>
  </div>
</form>
</div>
function addRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    if (rowCount < 5) { // limit the user from creating fields more than your limits
        var row = table.insertRow(rowCount);
        
        var colCount = table.rows[0].cells.length;
        row.id = 'row_'+rowCount;
        for (var i = 0; i < colCount; i++) {
            var newcell = row.insertCell(i);
            newcell.outerHTML = table.rows[0].cells[i].outerHTML;
        }
		     $.getJSON('des_processa.php?search=',{op: 10, ajax: 'true'}, function(j){
								var options = '<option></option>';	
								for (var i = 0; i < j.length; i++) {
									options += '<option value="' + j[i].id_produto + '">' + j[i].produto + '</option>';	}
								$('#produto').last().html(options);	});
			var listitems= row.getElementsByTagName("input")
            for (i=0; i<listitems.length; i++) {
              listitems[i].setAttribute("oninput", "calculate('"+row.id+"')");
            }
    } else {
        alert("Maximum Passenger per ticket is 4.");

    }
}

function deleteRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    for (var i = 0; i < rowCount; i++) {
        var row = table.rows[i];
        var chkbox = row.cells[0].childNodes[0];
        if (null !== chkbox && true === chkbox.checked) {
            if (rowCount <= 1) { // limit the user from removing all the fields
                alert("Cannot Remove all the Passenger.");
                break;
            }
            table.deleteRow(i);
            rowCount--;
            i--;
        }
    }
}

function calculate(elementID,num) {
    var mainRow = document.getElementById(elementID);
    var myBox1 = mainRow.querySelectorAll('[name=qtd[0]]')[0].value;
	var myBox2 = num;
    var total = mainRow.querySelectorAll('[name=vtot[0]]')[0];
    var myResult1 = myBox1 * myBox2;
    total.value = myResult1;
$("#vuni")[0].maskMoney({thousands:'.', decimal:',', affixesStay: false});
$("#vtot")[0].maskMoney({thousands:'.', decimal:',', affixesStay: false});
}

Agradeço se alguem puder me ajudar, Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Lucas HirÔakíì
      Olá, estou  quebrando a cabeça para resolver este erro, 
       
      Esse código baixo deveria pegar dados de uma parâmetro de um formulário, e enviar para a variável $apelido = $_GET ["apelido"] dessa formar na linha abaixo do código jogar os dados da tabela usuarios_sigav e jogar na criacao_user, e o php me retorna a mensagem Parse error: syntax error, unexpected ')' in C:\xampp\htdocs\Homologar\solicitacao.php on line 4
       
       
      <?php
      $conexao = mysqli_connect('localhost', 'root', 'b@nco@@p', 'cr_em');
      $apelido = $_GET ["apelido"];
      $query = "INSERT INTO criacao_user (nome, apelido, gerente, gerente_2, email_p) SELECT nome, apelido, gerente, gerente_2, email_p FROM usuarios_sigav  WHERE = '{$apelido}' ");
      mysqli_query($conexao, $query);
      mysqli_close($conexao);
      ?>
       
      Quem se disponibilizar para ajudar agradeço! 
    • Por netocazuza
      Gostaria que alguém me ajudasse a encontrar erro num código. Estou fazendo um curto na net, e tentando adaptar o código que funciona para ir aprimorando a aprendizagem. Então vou colocar dois códigos aqui, onde um funciona o outro não. O que funciona é o do curso com mais campos. O que fiz foi apenas adaptar esse código que funciona para uma quantidade bem menor, e ver se funciona. Os dois códigos abre o formulário, aparentemente consultam o banco com sucesso, porém só o original está alterando, certamente por algum erro meu. Mas já olhei trocentas vezes, postei dúvida lá no curso, e o cara não responde, então tô parado na aprendizagem por conta disso. Basicamente é um formulário de cadastro de transportadoras onde o usuário altera os dados de uma transportadora através desse formulário. Esse tá funcionando tudo certinho. Tentei reproduzir esse mesmo formulário, porém apenas com dois campos (cidade e estado), e mesmo assim não funciona. Lista certinho, mas não altera, por isso acho que é um erro simples. Segue os dois códigos pra que comparem:
      CÓDIGO QUE FUNCIONA:
      <?php require_once("conexao/conexao.php"); ?> <?php     if (isset($_POST["nometransportadora"])){         $nome = utf8_decode($_POST["nometransportadora"]);         $endereco = utf8_decode($_POST["endereco"]);         $cidade = utf8_decode($_POST["cidade"]);         $estado = $_POST["estados"];         $cep = $_POST["cep"];         $cnpj = $_POST["cnpj"];         $telefone = $_POST["telefone"];         $tID = $_POST["transportadoraID"];         // CRIAR O OBJETO PARA ALTERAR         $alterar = "UPDATE transportadoras ";         $alterar .= "SET ";         $alterar .= "nometransportadora = '{$nome}', ";         $alterar .= "endereco = '{$endereco}', ";         $alterar .= "cidade = '{$cidade}', ";         $alterar .= "estadoID = {$estado}, ";         $alterar .= "cep = '{$cep}', ";         $alterar .= "cnpj = '{$cnpj}', ";         $alterar .= "telefone = '{$telefone}' ";         $alterar .= "WHERE transportadoraID = {$tID}";         $operacao_alterar = mysqli_query($conecta, $alterar);         if (!$operacao_alterar){             die("Erro na alteração!");         }else {             header("location: listagem2.php");         }     }     // Consulta a tabela de transportadoras.     $tr = "SELECT * ";     $tr .= "FROM transportadoras ";     if (isset($_GET["codigo"])){         $id = $_GET["codigo"];         $tr .= "WHERE transportadoraID = {$id} ";     }else {         $tr .= "WHERE transportadoraID = 1 ";     }     $con_transportadora = mysqli_query($conecta, $tr);     if (!$con_transportadora){         die("Erro na consulta");     }     $info_transportadora = mysqli_fetch_assoc($con_transportadora);          // Consulta aos estados     $estados = "SELECT * ";     $estados .= "FROM estados ";     $lista_estados = mysqli_query($conecta, $estados);     if (!$lista_estados){         die("erro no banco");     } ?> <!doctype html> <html>     <head>         <meta charset="UTF-8">         <title>Curso PHP INTEGRACAO</title>                  <!-- estilo -->         <link href="_css/estilo.css" rel="stylesheet">         <link href="_css/alteracao.css" rel="stylesheet">     </head>     <body>         <?php include_once("_incluir/topo.php"); ?>                  <main>               <div id="janela_formulario">                 <form action="alteracao.php" method = "post">                     <h2>Alteração de Transportadoras</h2>                     <label for="nometransportadora">Nome da Transportadora</label>                     <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["nometransportadora"]) ?>" name = "nometransportadora" id = "nometransportadora">                     <label for="endereco">Endereço</label>                     <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["endereco"]) ?>" name = "endereco" id = "endereco">                     <label for="cidade">Cidade</label>                     <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cidade"]) ?>" name = "cidade" id = "cidade">                     <label for="estados">Estados</label>                     <select id = "estados" name = "estados">                         <?php                              $meuestado = $info_transportadora["estadoID"];                             while ($linha = mysqli_fetch_assoc($lista_estados)){                             $estado_principal = $linha["estadoID"];                             if ($meuestado == $estado_principal){                         ?>                             <option value="<?php echo $linha["estadoID"] ?>" selected>                                 <?php echo utf8_encode($linha ["nome"]) ?>                             </option>                             <?php                             } else {                              ?>                                 <option value="<?php echo $linha["estadoID"] ?>">                                 <?php echo utf8_encode($linha ["nome"]) ?>                                 </option>                         <?php                              }                             }                         ?>                                              </select>                     <label for="cep">CEP</label>                     <input type = "text" value = "<?php echo ( $info_transportadora["cep"]) ?>" name = "cep" id = "cep">                     <label for="telefone">Telefone</label>                     <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["telefone"]) ?>" name = "telefone" id = "telefone">                     <label for="cnpj">CNPJ</label>                     <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cnpj"]) ?>" name = "cnpj" id = "cnpj">                     <input type = "hidden" name = "transportadoraID" value = "<?php echo $info_transportadora["transportadoraID"] ?>">                     <input type = "submit" value="Confirmar Alteração">                 </form>             </div>         </main>         <?php include_once("_incluir/rodape.php"); ?>       </body> </html>  
      CÓDIGO QUE NÃO FUNCIONA. (Lista tudo certinho, mas não altera, nem traz o estádo pré-checado).
      <?php require_once("conexao/conexao.php"); ?> <?php     if( isset($_POST["nomeCidade"]) ) {         $nomeCidade       = utf8_decode($_POST["nomeCidade"]);         $estado     = $_POST["estados"];         $cID        = $_POST["cidadeID"];                  // Objeto para alterar         $alterar = "UPDATE cidades ";         $alterar .= "SET ";         $alterar .= "nomeCidade = '{$nomeCidade}', ";         $alterar .= "estadoID = {$estado} ";         $alterar .= "WHERE cidadeID = {$cID} ";         $operacao_alterar = mysqli_query($conecta, $alterar);         if(!$operacao_alterar) {             die("Erro na alteracao");            } else {             header("location:alterarCidades.php");            }              }     // Consulta a tabela de cidades     $tr = "SELECT * ";     $tr .= "FROM cidades ";     if(isset($_GET["codigo"]) ) {         $id = $_GET["codigo"];         $tr .= "WHERE cidadeID = {$id} ";     } else {         $tr .= "WHERE cidadeID = 1 ";     }          $con_cidade = mysqli_query($conecta,$tr);     if(!$con_cidade) {         die("Erro na consulta");     }     $info_cidade = mysqli_fetch_assoc($con_cidade);          // consulta aos estados     $estados = "SELECT * ";     $estados .= "FROM estados ";     $lista_estados = mysqli_query($conecta, $estados);     if(!$lista_estados) {        die("erro no banco");      }     ?> <!doctype html> <html>     <head>         <meta charset="UTF-8">         <title>Alteração Cidades</title>         <!-- estilo -->         <link href="_css/estilo.css" rel="stylesheet">         <link href="_css/alteracao.css" rel="stylesheet">     </head>     <body>         <?php include_once("_incluir/topo.php"); ?>                  <main>             <div id="janela_formulario">                 <form action="alteracaoCidades.php" method="post">                     <h2>Alteração de Cidades</h2>                                          <label for="nomeCidade">Nome da Cidade</label>                     <input type="text" value="<?php echo utf8_encode($info_cidade["nomeCidade"])  ?>" name="nomeCidade" id="nomeCidade">                     <label for="estados">Estados</label>                     <select id="estados" name="estados">                          <?php                              $meuestado = $info_cidade["estadoID"];                             while($linha = mysqli_fetch_assoc($lista_estados)) {                                 $estado_principal = $linha["estadoID"];                                 if($meuestado == $estado_principal) {                         ?>                             <option value="<?php echo $linha["estadoID"] ?>" selected>                                 <?php echo utf8_encode($linha["nome"]) ?>                             </option>                         <?php                                 } else {                         ?>                             <option value="<?php echo $linha["estadoID"] ?>" >                                 <?php echo utf8_encode($linha["nome"]) ?>                             </option>                                                 <?php                                  }                             }                         ?>                     </select>                     <input type="hidden" name="cidadeID" value="<?php echo $info_cidade["cidadeID"] ?>">                     <input type="submit" value="Confirmar alteração">                                     </form>                </div>         </main>         <?php include_once("_incluir/rodape.php"); ?>     </body> </html>  
       
       
       
    • Por Emerson.Oliveira
      eu tenho uma tabela assim
       
      usuario        /      valor
       
      pedro          /       0,50
      joao            /       0,50
      maria         /       50,00
      carlos       /        300,00
      marcos    /         200,00
      paulo         /       49,00
       
       
      eu quero que 100,00  então vai somar os valores em ORDEM CRESCENTE e vai me mostrar por exemplo:
       
      pedro          /       0,50
      joao            /       0,50
      maria         /       50,00
      paulo         /       49,00
       
      total: 100,00
       
       

      se poder ajudar agradeço
    • Por VHolanda
      <?php if(isset($_POST['botaoenviar'])){ $nome = $_POST['nome']; $idade = intval($_POST['idade']); $salario = floatval($_POST['salario']); if(is_string($nome)) { if (is_int($idade)) { if (is_float($salario)) { } } } else{ echo "Informe tipos válidos"; } $funcionario = array('nome'=>"",'idade'=>"",'salario'=>""); } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> </title> </head> <body> <form action="" method="POST"> <p>Seu nome: <input type="text" name="nome" /></p> <p>Idade: <input type="text" name="idade[idade]" /></p> <p>Salário: <input type="text" name="salario" /></p> <p><input type="submit" name="botaoenviar" value="enviar"/></p> </form> </body> </html>  
    • Por Remazela
      Caros amigos.
      Recorro a ajuda dos amigos do grupo para que possam me auxiliar ou me dar uma luz no final do túnel.
       
      Tenho uma rotina que faz um calculo de diferença de horas, como por exemplo:
      Data Início: 21/06/2018     e    Hora Início: 15:00
      Data Fim...: 23/06/2018     e    Hora Fim..: 13:00
       
      Preciso que o sistema calcule que no dia: 23/06/2018 às 13:00 -> o status da cotação passa para 2, por exemplo.
       
      Fiz uma rotina e aparentemente funciona, mas não entendo o porque algumas vezes faz o calculo e outras não.
       
      Os campos na base de dados estão assim:
      `cotaDtInicio` DATE NOT NULL , `cotaHrsInicio` TIME NOT NULL , `cotaDtFim` DATE NOT NULL , `cotaHrsFim` TIME NOT NULL , `cotaStatus` INT(1) NOT NULL  
       
      A rotina está assim:
      <?php //Paginação da página $pag = isset($_GET['pag']) ? (int)$_GET['pag'] : 1; $maximo = '10'; //RESULTADOS POR PÁGINA $inicio = ($pag * $maximo) - $maximo; $sql_pegaAtivos = "SELECT * FROM cotacao WHERE clientes_clienteId = '$userClientes_clienteId' ORDER BY cotaNumero DESC LIMIT ".$inicio.','.$maximo; try{ $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos); $query_pegaAtivos->bindValue(':clientes_clienteId',$userClientes_clienteId,PDO::PARAM_STR); $query_pegaAtivos->execute(); $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC); $count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC); }catch(PDOexception $error_pegaAtivos){ echo 'Erro ao pegar ativos'; } foreach($resultado_pegaAtivos as $resAtivos){ $cotaId = $resAtivos['cotaId']; $cotaNumero = $resAtivos['cotaNumero']; $cotaDtInicio = $resAtivos['cotaDtInicio']; $cotaHrsInicio = $resAtivos['cotaHrsInicio']; $cotaDtFim = $resAtivos['cotaDtFim']; $cotaHrsFim = $resAtivos['cotaHrsFim']; $cotaTitulo = $resAtivos['cotaTitulo']; $cotaObserva = $resAtivos['cotaObserva']; $cotaStatus = $resAtivos['cotaStatus']; $clientes_clienteId = $resAtivos['clientes_clienteId']; $desc_categ = $resAtivos['desc_categ']; $desc_pgto = $resAtivos['desc_pgto']; //Alterar o Status da Cotação para Analisar if($cotaStatus == '1'){ //Pega o Horário Atual date_default_timezone_set('America/Sao_Paulo'); //Calcula a Data Final com a Data Atual $data_atual = date("Y-m-d"); $data_atual = strtotime($data_atual); $dataFim = strtotime($cotaDtFim); $diferenca = $data_atual - $dataFim; $dias = floor($diferenca / 86400); $faltaDias = "{$dias}"; //Calcula a Hora Final com a Hora Atual $hora_atual = date("H:i:s"); $hora_atual = strtotime($hora_atual); $horaFim = strtotime($cotaHrsFim); $diferenca = $hora_atual - $horaFim; $hora = floor($diferenca / 3600); $minutos = floor(($diferenca / 60) % 60); $segundos = floor($diferenca % 60); $faltaHora = "{$hora}:{$minutos}:{$segundos}"; if ($faltaDias == '0' && $faltaHora >= '0') { $cotaStatus = '2'; $sql_cota = 'UPDATE cotacao SET cotaStatus = :cotaStatus WHERE cotaId = :cotaId'; try{ $query_cota = $conecta->prepare($sql_cota); $query_cota->bindValue(':cotaStatus',$cotaStatus,PDO::PARAM_STR); $query_cota->bindValue(':cotaId',$cotaId,PDO::PARAM_STR); $query_cota->execute(); } catch(PDOexception $error_novaCota) { echo 'Erro ao Editar o Produto '.$error_novaCota->getMessage(); } } } elseif($cotaStatus > '1') { $faltaDias = '0'; $faltaHora = '0'; } } ?>  
      Como faço para que quando o usuário logar no sistema, possa automaticamente realizar este calculo de datas e horas ?
       
      Grato,
       
      Renato
       
×

Informação importante

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