Ir para conteúdo
Entre para seguir isso  
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

Compartilhar este post


Link para o post
Compartilhar em outros 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>
 

Compartilhar este post


Link para o post
Compartilhar em outros 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

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
Entre para seguir isso  

  • Conteúdo Similar

    • Por snkGOD
      Boas galera, há algum tempo eu tenho vontade de botar em prática um projeto aqui pro meu bairro. Aqui tem uma galera de umas 60 pessoas que sempre organizam pequenos campeonatos e torneios entre eles, eu queria saber o que preciso estudar pra conseguir fazer algo parecido com o CartolaFC, algo pra incluir apenas essa quantidade de pessoas, com sistema de pontuação seguindo o modelo do CartolaFC. É algo pequeno, apenas para nós. Se houver algum script que faça isso e alguém puder me passar o nome, também serve. Grato a todos que se dispuserem a ajudar.
    • Por VCastilho
      Bom Dia

      Desenvolvi um filtro HTML e estou com dificuldades em criar o JavaScript para o funcionamento do mesmo, poderiam em ajudar a criar esse JS?
      Segue o código:
       
      <div id = "filtro"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style disabled> #filtro { border-style:double; } #button1 { width: 120px; position: inherit; right: 10px; background-color: #e00505; font-size: 12px; FLOAT: right } h4 { font-size: 18px; border-style: inset; } select { border: 1px solid #000; box-sizing: border-box; width: 124px; border-radius: 5px; height: 25px; padding: 3px; } section label { width: calc(100% / 4); color: red; text-align: center; } section { display: flex; flex-wrap: wrap; } h4/ { border-style:double; } @media screen and (max-width:768px) { section label { margin-bottom: 20px; width: 100%; } } </style> <h4 style="text-align: center;">Personalize o seu Kit de Segurança</h4><br><br> <form action="#" id="form"> <section> <label> <b> Tipo do seu Kit </b><br> <select name="speed" id="speed" style=" "> <option desable>Selecione</option> <option>Residencial</option> <option>Comercial</option> </select> </label> <label> <b>Qualidade de Seu Kit</b><br> <select name="files" id="files" style=" "> <option desable> Selecione </option> <option value="HD">HD</option> <option value="Full HD">Full HD</option> <option value="Analógica">Analógica</option> </select> </label> <label> <b> Quantidade de Câmeras </b><br> <select name="number" id="number" style=" "> <option desable> Selecione </option> <option>1 Câmera</option> <option>2 Câmeras</option> <option>3 Câmeras</option> <option>4 Câmeras</option> <option>5 Câmeras</option> <option>6 Câmeras</option> <option>7 Câmeras</option> <option>8 Câmeras</option> <option>9 Câmeras</option> <option>10 Câmeras</option> <option>11 Câmeras</option> <option>12 Câmeras</option> <option>13 Câmeras</option> <option>14 Câmeras</option> <option>15 Câmeras</option> <option>16 Câmeras</option> </select> </label> <label> <b> Selecione a Marca </b><br> <select name="salutation" id="salutation"> <option desable selected>Selecione</option> <option>Intelbras</option> <option>Hikvision</option> <option>Outras</option> </select> </label> </section> <BR> <BR> </form> </div> <br> <br> <button class="kd-filter-button" id="button1">Ver resultados</button> Seria bom, se possível o botão funcionar fora da tag "form" pois para personalizar fica melhor

       
    • Por explosivemineyt
      Bom dia,
      Eu encontro-me a tentar realizar um formulário login do tipo google, mas apesar de estar a funcionar, por vezes quando recarrego a pagina aparece assim e tenho que carregar na pagina ou no campo ou outro local qualquer para atualizar.
       
      Gostaria de conseguir corrijir mas apesar de pesquisar não encontro como corrijir.
       
      o meu código html: 
      Meu código css: 
      Meu bootstrap.css(ficheiro muito grande, posso disponibilizar por um drive ou algo do genero) bootstrap versão v4.0.0
       




    • Por $upreme
      Olá, eu to desenvolvendo um script para google adsense e precisa burla a URL ou seja.
       
      em uma pagina tera um player para o usuário assistir o filme por exemplo:
       
      exemplo.com/filme/deadpool2.mp4 << nessa pagina tera o player para ele assistir eu queria substituir essa URL por outra, ou seja ele iria ver o filme normal porem a url seria de outro site. tipo assim
       
      receitaspanelinha.com/reiceta-de-torta << tipo isso pra burla o google adsense mais nessa pagina taria o player pra pessoa assistir.
    • Por luisfeliperm2
      Como posso estar recebendo backups todos os dias do banco de dados postgresql através do meu email ? Preciso fazer isso no Windows 2012
×

Informação importante

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