Ir para conteúdo

Arquivado

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

Carcleo

criar ids de div em array

Recommended Posts

Pessoal, bom dia!

 

Estou precisando fazer uma coisa que acho que não é possível.

 

Então, gostaria de uma opinião de vocês ou um orientação para eu seguir.

 

É o seguinte:

 

Estou criando um formulario para cadastro de imóveis de uma imobiliaria. Até aí sem novidades.

 

Acontece, que o cliente quer sejam adicionadas fotos a esses imoveis. Tambem sem novidades.

 

Porem, o cliente não sabe quantas fotos ao mínimo serão colocadas para cada imovel.

 

Então, pensei assim: criei uma tabela de fotos no banco e atrelei elas ao id do imovel. Porem, o cliente que que as fotos sejam adicinadas, quando estiver preencendo o cadastro do imovel. Daí pensei o seguinte:

 

Crio uma div id cad_fotos. Dentro dessa div, coloco uma figura com um link e um onclick nesse link chamando uma funçao que criará, a cada clik, uma nova div interna, com um um campo html do tipo file sendo que, tanto essas divs quanto os campos file terao que serem criados com seus id's em um array com o mesmo nome.

 

Em cada div interna interna, terá um 'X' no canto para que, ao ser clikado, fechará a janela e atualizará os ids dos divs internas e dos campos file.

 

Isso é possive?

É viavel?

Vocês conhecem uma forma mais didática de se fazer isso?

 

Aguardo conselhos.

 

Carlos Rocha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é possível.

 

uma forma "mais usual" de fazer isso, é deixar o cara selecionar várias fotos ao mesmo tempo. Com algum plugin flash ou usando html5.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas hein William.

 

Mas o que eu preciso (e gostaria de ajuda ajuda para isso) é fazer um sistema que cria uma primeira div com um campo tipo file e assim que o usuário escolher a primeira, exibir um prompt perfuntando se ele deseja inserir uma nova foto. Caso positivo, cria uma nova div com outro campo field e assim por diante até que ele opte por não inserir mais fotos. Dái para de criar as divs com campos field.

 

Daí, a intenção de gerar ids para essas divs e para esses campos field, em forma de vetor ou em forma nome_div(ou do campo field)mais um contador informando o numero de vesez que foi criado cada div e campo field.

 

Preciso de ajuida e orientaçao para fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhe oque você pediu:

Vocês conhecem uma forma mais didática de se fazer isso?

Eu entendi que você queria uma forma "didática" para o usuário.

 

Da forma que você descreveu, é super complicado para o usuário, e fere alguns conceitos de usabilidade.

O que propus, resolve o seu problema e é mais "simples"(didático para o usuário).

 

 

Se você quer implementar de outra maneira, comece a fazer, e pergunte em qual ponto você tem dúvida. Apenas jogar toda a rotina aqui no fórum, não quer dizer que vamos programar tudo para ti.

Oque você não sabe fazer ? começou a tentar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

começei assim:

// JavaScript Document
function cria_array_divs(div)
{

if (document.getElementById(div) != undefined && isArray(document.getElementById(div)))
//if (document.getElementById(div))
{
	var div = document.createElement("div"); 
	div.id = "insere_foto[0]";
       div.innerHTML = "Conteudo da div";		
	alert(div.id);

 	    var cont = document.getElementById(div).length;
    alert(cont);
}
else if (document.getElementById(div) == undefined)
{
	var div_criada = document.createElement("div"); 
	div_criada.id = div+"[0]";
	div_criada.innerHTML = "Conteudo da div";		
}
}

Mas não funcionou.

verificar se a div ja existe e criar caso negativo.

Se ja existe, criara div2. E assim por diandte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.. tecnicamente você não precisa verificar.

 

basta fazer um .appendChild() e pronto.

Para ir incrementando o id, crie uma variavel com escopo global, e some +1 a cada div que você criar.

 

Bem mais simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim?

// JavaScript Document
function cria_divs()
{
if (document.getElementById(div_pai) == undefined)
{
	var div_pai = document.createElement("div"); 
	div_pai.id = "fotos_base";
}
else if (document.getElementById(div_pai) != undefined)
{
	document.getElementById("fotos_base").appendChild(document.getElementById("insere_foto"));
	document.getElementById("insere_foto").innerHTML="Teste";
}
}

Mas não aparece nada na pagina.

Estou chamando assim:

<?php
if(!isset($_GET["acao"]))
{
  if(isset($_GET["codigo_imovel"]))
  {
 $qual_imovel_string="select id_imovel from imoveiscadastrovenda where codigo_imovel = '".$_GET["codigo_imovel"]."'";
 $qual_imovel=$conexao->query($qual_imovel_string);
 list($id_imovel)=$qual_imovel->fetch_row();

 $parametro = $id_imovel;
  }	
  else if(isset($_GET["id_imovel"]))
  {
   $parametro = $_GET["id_imovel"];
  }

  $ver_fotos_imovel_string="select nome_fotos from fotos where id_imovel_fotos=".$parametro;
  $ver_fotos_imovel=$conexao->query($ver_fotos_imovel_string);
  $quantas_fotos=$ver_fotos_imovel->num_rows;

  if($quantas_fotos==0)
  {
  echo "<h1 style=\"text-align:center\">Sem Fotos para Exibir</h1>";
  }
  else
  {
  echo "<h1 style=\"text-align:center\">Fotos para Exibir</h1>";
  }
}
?>
<a href="#" onclick="cria_divs()"><img src="figuras/mais_fotos.png" width="30px" /></a><br />

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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