Upload De Multiplas Imagens
#1
Posted 06/10/2007, 00:52
assim, podendo adicionar ate 5 arquivos ou qlqr numero de arquivos em 1 pagina, sem precisar adicionar de 1 em 1.. queria apenas isso
um ajax que quando eu clickasse em "adicionar outro arquivos"
ele escrevesse o campo:
"Arquivo: <input type="file" name="arquivo[]"><br>"
nunca trabalhei com ajax, entao.. ja viu né..
#2
Posted 06/10/2007, 05:40
Para isso, utilize createElement.
Flws...
#3
Posted 08/10/2007, 14:17
Não precisa necessariamente ser Ajax, simplesmente Javascript você faz isso.
Para isso, utilize createElement.
Flws...
tu nao tem algo pronto que sirva como exemplo nao?
#4
Posted 08/10/2007, 14:38
<script type="text/javascript">
function addFileField()
{
document.getElementById("fields").innerHTML += "<input type=\"file\" name=\"file[]\" /><br />";
}
</script>Onde o id fields que você vai jogar os inputs, eu fiz com uma <div>.
Flws...
Edição feita por: Paulo André, 08/10/2007, 14:39.
#5
Posted 08/10/2007, 15:48
<script type="text/javascript">
<script type="text/javascript">
function addFileField()
{
document.getElementById("div_file").innerHTML += "<input type=\"file\" name=\"imagem[]\" size=\"35\">";
}
</script><li><div id="div_file"><input type="file" name="imagem[]" size="35"></div></li> <li onclick="addFileField()">Adicionar outra Imagem</li>
porem estou com um problema, quando clicko para adicionar a otura imagem, o campo de cima perde o valor atual... queria manter o valor...
tipo ele perde os valores, seu eu escolhe 1 arquivo, e deopis clicko em adicionar outro arquivo...
Edição feita por: SlyX, 08/10/2007, 16:01.
#6
Posted 08/10/2007, 16:00
Faz assim:
function addFileField()
{
var ff = document.createElement("input");
ff.type = "file";
ff.name = "file[]";
document.frm.appendChild(ff);
}Que irá adicionar em um form de nome frm seguindo meu exemplo.Foi mal, depois que pensei melhor.
******* EDITADO *******
Para a quebra de linha você pode adicionar esta linha:
document.frm.appendChild(document.createElement("br"));Flws...
Edição feita por: Paulo André, 08/10/2007, 16:09.
#7
Posted 08/10/2007, 16:25
#8
Posted 08/10/2007, 16:30
Desenha ai pra mim porque não entendi não.. rs...
#9
Posted 08/10/2007, 16:46
o input file, esta dentro de um LI... gostaria que os outros que aparecem, aparecessem dentro do LI, entende?
no metodo antigo eu poderia fazer:
document.getElementById("fields").innerHTML += "<li><input type=\"file\" name=\"file[]\" /></li>";<?
session_start();
require "../include/topo.inc.php";
?>
<script type="text/javascript">
function addFileField()
{
var ff = document.createElement("input");
ff.type = "file";
ff.name = "file[]";
document.form1.appendChild(ff);
document.form1.appendChild(document.createElement("br"));
}
</script>
<script src="../include/data.js" type="text/javascript"></script>
<form name="form1" id="form1" enctype="multipart/form-data" action="editar.php?tipo=<?=$acao;?>" method="post">
<div id="en">
<ul>
<li><h2>Imagem:</h2></li>
<li><div id="div_file"><input type="file" name="imagem[]" size="35"></div></li>
<li><a onclick="addFileField()">Adicionar outra Imagem</a></li>
</ul>
</div>
<div id="botao">
<input type="submit" class="buttom" value="Salvar" />
</div>
</form>
<?
include("../include/rodape.inc.php");
?>
Edição feita por: SlyX, 08/10/2007, 16:46.
#10
Posted 08/10/2007, 16:51
function addFileField()
{
var li = document.createElement("li");
var ff = document.createElement("input");
ff.type = "file";
ff.name = "file[]";
document.frm.appendChild(li);
li.appendChild(ff);
}Flws...
Edição feita por: Paulo André, 08/10/2007, 16:52.
#11
Posted 08/10/2007, 17:18
Além do que, tem que coloca a li dentro da ul, então tem que usar ou getElementById (se ela tiver um id), ou getElementsByTagName('ul') ... ou uma mescla dos 2.

Yeah I do have some stories, and it's true I want all the glory ...
#12
Posted 08/10/2007, 22:20
Acho que vai dar problema de referência... você teria que dar appendChild no input na LI antes de dar o appendChild no form ...
Além do que, tem que coloca a li dentro da ul, então tem que usar ou getElementById (se ela tiver um id), ou getElementsByTagName('ul') ... ou uma mescla dos 2.
ou seja: cheguei a conclusao q nao sei nada de js =/
amiguinhos?
#13
Posted 09/10/2007, 13:35
function addFileField()
{
var li = document.createElement("li");
var ff = document.createElement("input");
ff.type = "file";
ff.name = "file[]";
li.appendChild(ff);
document.getElementById('suaUL').appendChild(li);
}

Yeah I do have some stories, and it's true I want all the glory ...
#14
Posted 09/10/2007, 14:50
<script type="text/javascript">
function addFileField()
{
var li = document.createElement("li");
var ff = document.createElement("input");
ff.type = "file";
ff.name = "imagem[]";
ff.size = "35";
li.appendChild(ff);
document.getElementById('div_file').appendChild(li);
}
</script><ul id="ul_arquivo"> <li><h2>Imagem:</h2></li> <div id="div_file"> <li><input type="file" name="imagem[]" size="35"></li> </div> <li><a onclick="addFileField()">Adicionar outra Imagem</a></li> </ul>
achei muito legal essa parte de "DOM" vou dar uma estudada... para iniciar bem no ajax
tinha ocorrido um erro no iexplorer, acho que devido a interacao com o css(ie6) ..
entao eu alterei
<ul id="div_file"> <li> <input type="file" name="imagem[]" size="35"> </li> </ul> <ul> <li><a onclick="addFileField()">Adicionar outra Imagem</a></li> </ul>
#15
Posted 09/10/2007, 14:57
<a href="pagina_qualquer.htm" onclick="function();return false">Texto</a> <!--ou--> <button onclick="function();">Texto</button>
Da forma que você colocou gera erros porque não é nem um link (porque não tem href) e nemuma ancora (porque não tem name)... ok?!

Yeah I do have some stories, and it's true I want all the glory ...
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










