Jump to content
Sign in to follow this  
asacap1000

adicionar campos no formulario

Recommended Posts

Galera, encontrei um post antigo aqui no forum que já foi encerrado, porém preciso de uma ajuda para uma situação que acredito que seja simples mas a cabeça ainda não se ligou.

Vou postar o script que peguei aqui e fiz uma alteração.

<html>
<head>
<script type="text/javascript">
//Total máximo de campos que você permitirá criar em seu site:
var totalCampos = 10;

//Não altere os valores abaixo, pois são variáveis controle;
var iLoop = 1;
var iCount = 0;
var linhaAtual;


function AddCampos() {
var hidden1 = document.getElementById("hidden1");
var hidden2 = document.getElementById("hidden2");

//Executar apenas se houver possibilidade de inserção de novos campos:
if (iCount < totalCampos) {

//Limpar hidden1, para atualizar a lista dos campos que ainda estão vazios:
hidden2.value = "";

//Atualizando a lista dos campos que estão ocultos.
//Essa lista ficará armazenada temporiariamente em hidden2;
for (iLoop = 1; iLoop <= totalCampos; iLoop++) {
        if (document.getElementById("linha"+iLoop).style.display == "none") {
                if (hidden2.value == "") {
                        hidden2.value = "linha"+iLoop;
                }else{
                        hidden2.value += ",linha"+iLoop;
                }
        }
}
//Quebrando a lista que foi armazenada em hidden2 em array:

linhasOcultas = hidden2.value.split(",");


        if (linhasOcultas.length > 0) {
                //Tornar visível o primeiro elemento de linhasOcultas:
                document.getElementById(linhasOcultas[0]).style.display = "block"; iCount++;
                
                //Acrescentando o índice zero a hidden1:
                if (hidden1.value == "") {
                        hidden1.value = linhasOcultas[0];
                }else{
                        hidden1.value += ","+linhasOcultas[0];
                }
                
                /*Retirar a opção acima da lista de itens ocultos: <-------- OPCIONAL!!!
                if (hidden2.value.indexOf(","+linhasOcultas[0]) != -1) {
                        hidden2.value = hidden2.value.replace(linhasOcultas[0]+",","");
                }else if (hidden2.indexOf(linhasOcultas[0]+",") == 0) {
                        hidden2.value = hidden2.value.replace(linhasOcultas[0]+",","");
                }else{
                        hidden2.value = "";
                }
                */
        }
}
}

function RemoverCampos(id) {
//Criando ponteiro para hidden1:        
var hidden1 = document.getElementById("hidden1");

//Pegar o valor do campo que será excluído:
var campoValor = document.getElementById("arq"+id).value;
        //Se o campo não tiver nenhum valor, atribuir a string: vazio:
        if (campoValor == "") {
                campoValor = "vazio";
        }

    	if(confirm("O campo que contém o valor:\n» "+campoValor+"\nserá excluído!\n\nDeseja prosseguir?")){
                document.getElementById("linha"+id).style.display = "none"; iCount--;
                
                //Removendo o valor de hidden1:
                if (hidden1.value.indexOf(",linha"+id) != -1) {
                        hidden1.value = hidden1.value.replace(",linha"+id,"");
                }else if (hidden1.value.indexOf("linha"+id+",") == 0) {
                        hidden1.value = hidden1.value.replace("linha"+id+",","");
                }else{
                        hidden1.value = "";
                }
        }
}
</script>
</head>
<body>
<form name="form1" action="teste.php" method="post">
<input type="button" value="Adicionar Cliente" id="btnAdd" onclick="AddCampos()">
<script type="text/javascript">
//Escrevendo o código-fonte HTML e ocultando os campos criados:
for (iLoop = 1; iLoop <= totalCampos; iLoop++) {
        document.write("<tr><span id='linha"+iLoop+"' style='display:none'>CLIENTE "+iLoop+": <td bgcolor='#FFFFFF'><label><input type='text' id='arq"+iLoop+"' name='arq"+iLoop+"'></label></td><td bgcolor='#FFFFFF'><label><input type='file' id='arq"+iLoop+"' name='arq"+iLoop+"'></label></td> <td bgcolor='#FFFFFF'><label><input type='button' value='Remover' onclick='RemoverCampos(\""+iLoop+"\")'></label></td></span></tr>");}
</script>

<input type="hidden" name="hidden1" id="hidden1">
<input type="hidden" name="hidden2" id="hidden2">
<input type="submit" value="Enviar">
</form>

</body>
</html>

 

na tela aparece um input text e um input file. A idéia é adicionar o nome do cliente e anexar um arquivo referente ao cliente. caso sejam vários clientes através do javascript ele vai adicionando os campos com limite de 10.

porém quando mando para outra tela que seria para cadastrar ele apenas me traz o que foi anexo.

Segue como ele carrega:

array
'arq1' => string '[TOTVS] - Guia_instalacao_Protheus11.pdf' (length=40)
'arq2' => string '[totvs] - instalando com (sql).pdf' (length=34)
'arq3' => string '' (length=0)
'arq4' => string '' (length=0)
'arq5' => string '' (length=0)
'arq6' => string '' (length=0)
'arq7' => string '' (length=0)
'arq8' => string '' (length=0)
'arq9' => string '' (length=0)
'arq10' => string '' (length=0)
'hidden1' => string 'linha1,linha1,linha1,linha2' (length=27)
'hidden2' => string 'linha2,linha3,linha4,linha5,linha6,linha7,linha8,linha9,linha10' (length=63)

Ele não carrega o nome do cliente como eu preciso o que preciso alterar para corrigir isso?

Att

Share this post


Link to post
Share on other sites

Depois de quebrar a cabeça fiz da seguinte forma. Falta testar agora para gravar no BD

O resultado é este:

array
'cliente' =>
array
0 => string 'cliente1' (length=8)
1 => string 'cliente2' (length=8)
2 => string 'cliente3' (length=8)
'procuracao' =>
array
0 => string '[TOTVS] - Guia_instalacao_Protheus11.pdf' (length=40)
1 => string '[totvs] - instalando com (sql).pdf' (length=34)
2 => string 'ADVPL - O Manual.pdf' (length=20)

<html>  
<head>  
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script>  
<script type="text/javascript">  
$(document).ready(function(){ 
    var input ='<div class="col-xs-10"><tr><td><label>CNPJ:<input type="text" name="cliente[]" /></label></td><td><label>PROCURAÇÃO:<input type="file" name="procuracao[]"/></label></td><td><label><a href="#" class="remove"><img src="imagens/flagvermelho.png" width="23" height="23" border="0"></a></label> </td></tr></div>';  
    $("input[name='add']").click(function( e ){  
        $('#inputs_adicionais').append( input );  
    });  
 
    $('#inputs_adicionais').delegate('a','click',function( e ){  
        e.preventDefault();  
        $(this).closest("div.col-xs-10").remove();  
    });  
 
});  
</script>  
</head>  
<body>  
    <form name="form1" action="teste.php" method="post">
        <label style="display: block">
          <input type="button" value="Adicionar Cliente" name="add" onclick="AddCampos()">
           </label>  
           <label style="display: block">
        <fieldset id="inputs_adicionais" style="border: #FF0004">  
        </fieldset> </label>  
        <input type="submit" value="ENVIAR">
    </form> 
</body>  
</html>
 

Share this post


Link to post
Share on other sites

Galera como eu salvo arquivos que vem de um array no banco e salvo os arquivos em uma pasta específica.

Eu costumo utilizar este método porém não está salvando.


<?php 
    $nome     = $_POST['cliente'];
    $procuracao = $_POST['procuracao'];
    $total    = count($nome);

    for($i = 0; $i < $total; $i++){
 
       
$pasta_cliente = trim($nome[$i]);
$pasta_cliente = preg_replace( '/[`^~\'"]/', null, iconv( 'UTF-8', 'ASCII//TRANSLIT',$pasta_cliente));
$pasta_cliente = preg_replace("/'\s/" , " " , $pasta_cliente); 
mkdir('../../../desp_proc/'.$pasta_cliente.'/');
$diretorio = "../../../desp_proc/$pasta_cliente/";

if (!empty($_FILES)) {
	
	
	$tempFile = $_FILES['procuracao']['tmp_name'];
//Pega as Variaveis	
    $nome_arquivo = $_FILES['procuracao']['name'];
	
//Junta todas as variaveis	
    $completo = $nome_arquivo;

//Pega a Extensão Original	
    $path_parts = pathinfo($nome_arquivo);

//Converte para MD5
	$nome_arquivo_md5 = $nome_arquivo;
	$nome_arquivo_md5 = preg_replace( '/[`^~\'"]/', null, iconv( 'UTF-8', 'ASCII//TRANSLIT',$nome_arquivo_md5));
//Agora vai juntar nome em md5 com a extensão
	$ext = pathinfo($nome_arquivo, PATHINFO_EXTENSION);
	if($ext!=TRUE){
		
		}
		else {
    $nome_final =$nome_arquivo_md5.".".$ext;
	$targetFile1 =  str_replace('//','/',$diretorio) . $nome_final;
		
 //move_uploaded_file($tempFile,$pasta_dir);
move_uploaded_file($tempFile,$targetFile1);

}		
		
	echo 	$targetFile1;


    }
	printf("cliente : %s <br />", $nome[$i]);
        printf("procuracao : %s <br />", $procuracao[$i]);
         
	header("Content-Type: text/html; charset=ISO-8859-1");
$servidor = 'localhost';
$banco	  = 'test';
$usuario  = 'root';
$senha    = '';
$link     = mysql_connect($servidor, $usuario, $senha);
$db		  = mysql_select_db($banco,$link);
if(!$link)
{
	echo "erro ao conectar ao banco de dados!";exit();
}

mysql_query("INSERT INTO teste(nome_eleitor, login) VALUES ('$nome[$i]','$procuracao[$i]')");
		
	}
?>

Se puderem me ajudar

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

  • Similar Content

    • By Mauricio Molina
      Ola pessoal,
       
      Estou com dificuldade em dar um ECO, onde dependendo do resultado que vira do BD ao abrir a pagina ela chama um modal.
       
      O código em si  esta funcionando bem, apenas quero adicionar o resultado do banco, para que quando estiver configurado para tal ele chamar o modal.
       
      Código completo da pagina:
       
      <?php session_start(); include_once("seguranca.php"); include_once("../conexao/conexao.php"); $result_usuarios = "SELECT * FROM situacao_usuario"; $resultado_usuarios = mysqli_query($conn, $result_usuarios); seguranca_adm(); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content="Weblina"> <link rel="icon" href="../imagens/favicon.ico"> <title>Cadastrar Textos</title> <link href="css/ie10-viewport-bug-workaround.css" rel="stylesheet"> <!-- Bootstrap CSS CDN --> <link rel="stylesheet" href="../css/bootstrap.min.css"> <!-- Our Custom CSS --> <link rel="stylesheet" href="../css/offcanvas.css"> <!-- Font Awesome JS --> <script defer src="https://use.fontawesome.com/releases/v5.0.13/js/solid.js"></script> <script defer src="https://use.fontawesome.com/releases/v5.0.13/js/fontawesome.js"></script> <script src="../js/ie-emulation-modes-warning.js"></script> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> </head> <body role="document"> <?php require_once '../menu/menu-adm.html'; ?> <!-- Modal --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="myModalLabel">Necessário efetuar pagamento</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span><button> </div> <div class="modal-body"> ... </div> <div class="modal-footer"> <a href="pagar.php"><button type="button" class="btn btn-primary">Pagar Agrora</button></a> </div> </div> </div> </div> <?php while($rows_usuarios = mysqli_fetch_assoc($resultado_usuarios)){ ?> <?php $situacao_usuario = "pendente"; /*Onde desejo colocar o eco <?php echo $rows_usuarios["pendente"];?> */ if($situacao_usuario == "pendente"){ ?> <script> $(document).ready(function(){ $('#myModal').modal('show'); }); </script> <?php } ?> <div class="container"> <?php echo $rows_usuarios["pendente"]; ?> </div> <?php } ?> <!-- Principal JavaScript do Bootstrap ================================================== --> <!-- Foi colocado no final para a página carregar mais rápido --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" </script> <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script> <script src="../js/popper.min.js"></script> <script src="../js/bootstrap.min.js"></script> <script src="../js/vendor/holder.min.js"></script> <script src="../js/offcanvas.js"></script> </body> </html> Onde quero introduzir o eco:
       
      <?php while($rows_usuarios = mysqli_fetch_assoc($resultado_usuarios)){ ?> <?php $situacao_usuario = "pendente"; /*Onde desejo colocar o eco <?php echo $rows_usuarios["pendente"];?> */ if($situacao_usuario == "pendente"){ ?> <script> $(document).ready(function(){ $('#myModal').modal('show'); }); </script> <?php } ?> <div class="container"> <?php echo $rows_usuarios["pendente"]; ?> </div> <?php } ?> Será que alguém pode dar uma força?
    • By jehqueres
      Eu comprei um script php ontem, dai eu queria saber, oque eu faço agora? porque tipo queria mudar as configurações dela, o estilo, porque ja tenho um site só falta a parte do leilao
    • By mamotinho
      Olá, estou com problemas, minha data está atualizando porém eu clico em um produto ele exibe o tempo sem atualizar . quando eu mudo de produto ele mostra os dois valores exemplo
      Produto 1: tem duraçao de: 1 dia e 13:023 PM
      Produto 2: tem duraçao de: 0 dia e 23:023 PM

      Quando eu clico no produto 1 ele exibe normalmente, porém quando mudo para o produto 2 ele fica atualizando o valor do dia do produto 1 e do produto 2 sempre mudando.
      segue abaixo como está o codigo

      JavaSCRIPT
       
      function anooo(mes,dia,h,m){ var mess = mes; var dias = dia; var hss = h; var mss = m; // Set the date we're counting down to var countDownDate = new Date(""+mess+" "+dias+", 2020 "+hss+":"+mss+":00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get today's date and time var now = new Date().getTime(); // Find the distance between now and the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var dayss = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("days").innerHTML = dayss; document.getElementById("hrs").innerHTML = hours; document.getElementById("minus").innerHTML = minutes; document.getElementById("secs").innerHTML = seconds; this.remove(countDownDate); // If the count down is over, write some text if (distance < 0) { clearInterval(x); } }, 1000); } AQUI É O CHAMADO:
       
      <? if($result->Discount>=1){ $Month = date('M', strtotime($result->DateDiscount)); $Days = date('d', strtotime($result->DateDiscount)); $Hours = date('H', strtotime($result->DateDiscount)); $Minutes = date('i', strtotime($result->DateDiscount)); echo "<script>anooo('".$Month."','".$Days."','".$Hours."','".$Minutes."')</script>"; //echo "<script>alert('".$Month."')</script>"; ?> <ul class="time_sell remain_time"> <li> <dl> <dt class="blind">남은시간</dt> <dd> <span class='n_date day' id='days'></span> <span class='date'>일</span> <span class='n_time hour' id='hrs'></span> <span class='n_time minute' id='minus'></span> <span class='n_time second' id='secs'></span> <div id="countdown"></div> </dd> </dl> </li> </ul> <? } ?> eu já tentei de tudo mais sempre que mudo de produto ele exibe a data dos produtos anteriores em loop. a cada atualização do setInterval
    • By liniker.o
      Boa tarde pessoal!
      Estou com um problema em meu código quando coloco uma referencia de fonte a mesma não carrega, quando faça o mesmo procedimento local colocando os caminhos de pasta funciona normalmente.
      Será que alguém poderia me ajudar?
      Segue o código.
      <html> <head> <title>Minha pagina</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- Se não declarar charset por meta, envie um header de igual valor --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <?php //Carregar imagem tamanho da imagen = 515x76 $img = ImageCreateFromJPEG("base.jpg"); //Definir cor $cor1 = imagecolorallocate($img, 0, 0, 0); $cor2 = imagecolorallocate($img, 0, 0, 0); // carregar fonte... $fonte1 = 'https://ff.static.1001fonts.net/r/o/roboto-condensed.light.ttf'; $fonte2 = 'https://ff.static.1001fonts.net/r/o/roboto-condensed.light.ttf'; //Escrever nome $txtNome = $_POST['nome']; $txtFuncao = $_POST['func']; $txtEmail = $_POST['email']; $txtDDD = "+55 ".$_POST['telefone']; // IMAGEM, TAMANHO_FONTE, 0, POSICAO X, posicao Y, TEXTO_COR, ARQ_FONTE, TEXTO imagettftext($img, 32, 0, 250, 100, $cor1, $fonte1, $txtNome); imagettftext($img, 18, 0, 250, 125, $cor1, $fonte2, $txtFuncao); imagettftext($img, 18, 0, 250, 150, $cor1, $fonte2, $txtEmail); imagettftext($img, 18, 0, 250, 180, $cor1, $fonte2, $txtDDD); //Header e output header('Content-type: image/jpeg'); imagejpeg($img,"Assinatura - ".$txtNome.".jpg"); imagedestroy($img); header('Location: Assinatura - '.$txtNome.'.jpg'); ?>  
    • By jranesio
      Estou com problemas com script PHP e cURL para:
      1 - logar no site
      2 - acessar formulario de pesquisa e passar os dados
      3 - receber a página de resposta html
      Itens 1 e 2 estão OK, obtenho a resposta (item 3).
      Alguém pode orientar onde estou errando? Segue script.
      Obrigado
       
       
      <?php
       
      $cookie = dirname(__FILE__).'/cookie.txt';
      $url1='http://clima.feis.unesp.br/login.php'; //página de login
      $url2='http://clima.feis.unesp.br/dados_diarios.php'; //formulario de pesquisa
      $url3='http://clima.feis.unesp.br/recebe_formulario.php'; //Resultado esperado
      $username = 'usuario=siteteste';
      $password = 'senha=testesite';
      $dadosform= [ 'dataini' => '01/01/2020',
      'datafim' => '01/03/2020',
      'estacao' => '1'
      ];
      $useragent='Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6';
      $ch = curl_init($url2);
      curl_setopt_array($ch, [
                              CURLOPT_COOKIESESSION => 1,
                              CURLOPT_COOKIEJAR => $cookie,
                              CURLOPT_COOKIEFILE => $cookie,
                              CURLOPT_USERAGENT => $useragent,
                              CURLOPT_AUTOREFERER => 1,
                              CURLOPT_URL => $url2,
                              CURLOPT_POST => 1,
                              CURLOPT_RETURNTRANSFER => 1,
                              CURLOPT_FOLLOWLOCATION => 0,
                              CURLOPT_USERPWD => $username.":".$password,
                              CURLOPT_VERBOSE => 1 ,
                              CURLINFO_HEADER_OUT => 1,
                              CURLOPT_POSTFIELDS => $dadosform,
      ]);
      $resultado = curl_exec($ch);
      $errno = curl_errno($ch);
      echo "<br>Login: ". curl_strerror($errno).'<hr>';
      echo '<hr>';
      if($errno == 0) {
          print_r($resultado);
      }

      curl_close($ch);
      echo '<br>[FIM]';
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.