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 niochapeco
      Boa noite pessoal, 
       
      Estou estudando, aprendendo Ruby on Rails
       
      Mas uma dúvida que tive e pesquisei um pouco é qual a melhor ou o que acham as melhores gems para gerar formulários (telas) para aplicativos internos, não voltados a internet?
      Por exemplo um sistema de RH para treinamento, onde o uso não é de alguém que esta navegando pela internet, mas sim um funcionário administrativo da empresa.
    • Por mazierovictor@gmail.com
      Boa tarde galera!
      Preciso de uma ajuda, tenho um código que está listando os arquivos dentro de determinada pasta, e linkando para download, funcionando tudo certo, porém, eu precisaria que esse código lista-se somente arquivos com o formato .pdf o código é esse:
       
      <?php $diretorio = getcwd(); // pega o endereco do diretorio $ponteiro = opendir($diretorio); // ponteiro que ira percorrer a pasta while ($nome_itens = readdir($ponteiro)) { // monta o vetor com os itens da pasta $itens[] = $nome_itens; } sort($itens); // ordena o vetor de itens foreach ($itens as $listar) { //percorre o vetor para fazer a separacao entre arquivos e pastas if ($listar!=".php" && $listar!=".."){ // retira os itens "./" e "../" para que retorne apenas pastas e arquivos if (is_dir($listar)) { // checa se é uma pasta $pastas[]=$listar; // caso VERDADEIRO adiciona o item ao vetor de pastas } else{ $arquivos[]=$listar;// caso FALSO adiciona o item ao vetor de arquivos } } } $exte_p = array("pdf","PDF"); //foreach($pastas as $listar){// lista as pastas //print "<a href='$listar'><img border=0 src='index_pasta.png'>$listar</a><br>";} // foreach($arquivos as $listar){// lista os arquivos print "<a href='$listar'>$listar</a><br>"; } ?> Agradeço imensamente desde já!
    • Por giobr
      Olá pessoal, tudo bem?
       
      Possuo um formulário dentro de uma determinada pasta, por exemplo, dominio.com/formulario/, porém, vou usar este formulário dentro de uma outra página, por exemplo, dominio.com/sobre onde eu precisaria que quando o usuário preenchesse este formulário chegasse para mim o link dominio.com/sobre  que ele usou para acessar o formulário e não onde ele é processado.
       
      Tentei usar: $pagina_referencia = $_SERVER["HTTP_REFERER"]; mas ele sempre me retorna onde é processado..

      Existe alguma forma?
       
      Obrigado.
    • Por leox182
      Bom dia!
      Pessoal estou tentando fazer um formulário de contato. Consegui fazer um teste mas a mensagem está chegando em branco, e só aparece o campo de mensagem, sem o resto.
      Chega assim: anonymous@www038.centralserver.com.br
          para leonardo Mensagem:  
       
      Segue meu HTML: 
      <!doctype html> <html> <head> <meta charset="utf-8"> <title>Documento sem título</title> </head> <body bgcolor="#FFFFFF" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" > <div align="center"> <center> <table width="100%" style="border-collapse: collapse" border="0" cellspacing="1"> <tbody> <tr> <td width="25%"><p align="center"><a href="http://www.musiaudio.com.br/images/MUSIAUDIO.jpg"><img src="MUSIAUDIO/MUSIAUDIO.jpg" width="319" height="97" alt=""/></a> <table border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse; font-family: Segoe, 'Segoe UI', 'DejaVu Sans', 'Trebuchet MS', Verdana, sans-serif; font-size: 16px;" bordercolor="#111111" width="100%" id="AutoNumber2" background="/icons/cruzinha.gif"> <tr> <td width="50%"><p align="center">Novidades em breve!</p></td> <td width="50%"><form name="formulario_contato" method="post" action="contato.php"> <p> <label for="nome2">Nome:</label> <input name="nome2" type="text" required="required" id="nome2" size="40"> </p> <p> <label for="email">Email:</label> <input name="email2" type="email" required="required" id="email" size="40"> </p> <p> <label for="telefone">Telefone:</label> <input name="telefone2" type="tel" required="required" id="telefone" size="40"> </p> <p> <label for="mensagem">Mensagem:</label> <textarea name="mensagem2" cols="45" rows="10" required="required" id="mensagem"></textarea> </p> <p> <input name="submit2" type="submit" id="submit2" formmethod="POST" value="Enviar"> <input type="reset" name="reset2" id="reset2" value="Redefinir"> </p> <p>&nbsp;</p> </form></td> </tr> </table> <p align="center">  </tbody> </table> </center> </div> </body> </html> e meu PHP:
      <?php $nome = "Nome: ".$_POST['nome']."\n"; $email = "Email: ".$_POST['email']."\n"; $telefone = "Telefone: ".$_POST['telefone']."\n"; $mensagem = "Mensagem: ".$_POST['mensagem']."\n"; mail("leonardo@musiaudio.com.br", "email recebido", $mensagem); echo '<p><font face="Tahoma" color="##000000"><span style="font-size:11pt;"><b>Sua mensagem foi enviada com sucesso!</b></span></font></p>'; echo '<p><font face="Tahoma" color="##000000"><span style="font-size:11pt;"><b>Em breve entraremos em contato com você! Obrigado!</b></span></font></p>'; ?> Fiz esse exemplo vendo um vídeo no Youtube, não tenho muita experiência...
       
      Conseguem me ajudar?
       
    • Por GCONTABIL
      Como criou um script para preencher o formulário automaticamente com os dados para acesso ao site do Simples Nacional:
      https://www8.receita.fazenda.gov.br/SimplesNacional/controleAcesso/Autentica.aspx?id=60
       
      Não sei por onde começar:
×

Informação importante

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