Hola todos hice esta pregunta en el foro de php, y no obtuve una respuesta satisfactoria, recurro a los gurus de javascript de este sitio.
Necesito hacer un multiple upload similar al attachment de gmail. Tengo el siguiente código javascript
:
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Multiple upload</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="AMJ [email protected] http://www14.brinkster.com/alejomj2">
<META NAME="Keywords" CONTENT="upload multiple">
<META NAME="Description" CONTENT="formulario de upload similar al de google">
<style>
.upload {
border: 0px none;
width: 0px;
}
.ioculto {
visibility: hidden;
display: none;
}
</style>
<script language="javascript">
function filer(id) {
var ihidden = "<input type='hidden'>";
if (document.layers) {
eval("document.layers."+id+".document.write(ihidden);");
eval("document.layers."+id+".document.close();");
eval("document.layers."+id+"k.document.write();");
eval("document.layers."+id+"k.document.close();");
} else if (document.all) {
eval(id+".innerHTML = ihidden;");
eval(id+"k.innerHTML = '';");
}
}
function filew(ifile) {
var data = ifile.value;
var id = ifile.name;
var remove = " <a href='#' style='cursor:hand' onclick=\"filer('"+id+"')\">Borrar</a>";
id += "k";
if (document.layers) {
eval("document.layers."+id+".document.write(data+remove+'<br>');");
eval("document.layers."+id+".document.close();");
} else if (document.all)
eval(id+".innerHTML += data+remove+'<br>';");
}
function nuevoUpload() {
var elem = document.f.length;
var upload = "<span id='f"+elem+"'><input type='file' name='f"+elem+"' class='ioculto' onchange='filew(this)'></span><span id='f"+elem+"k'></span><span id='file"+(1*elem+1)+"'></span>";
if (document.layers) {
eval("document.layers.file"+elem+".document.write(upload);");
eval("document.layers.files.document.close();");
} else if (document.all)
eval("file"+elem+".innerHTML += upload;");
eval("document.f.f"+elem+".click();");
}
</script>
</HEAD>
<BODY>
<h1>Múltiple upload</h1>
Este es un ejemplo de hacer un múltiple upload similar al de google para hacer attachments.<br>
Autor: <a href="http://www14.brinkster.com/alejomj2">AMJ [email protected]</a><br>
Fecha: 29/01/2005
<form name="f" nctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<table border="1" width="100%">
<tr><td> <br><span id="file1"></span><br> </td></tr>
<tr><td><a href="#" style="cursor:hand" onclick="nuevoUpload()">Agregar Archivo</a>
</td></tr>
</table>
<a href="#" style="cursor:hand" onclick="document.f.submit()">Subir Archivos</a>
</form>
</BODY>
</HTML>
el error que me saca es de acceso denegado, que solución puede haber a parte de este otro (el problema de este es que muestra el botón "examinar"):
Código:
<style>
.upload {
border: 0px none;
width: 0px;
background: white;
cursor: hand;
color: blue;
text-decoration:underline;
}
.ioculto {
visibility: hidden;
display: none;
}
</style>
<script language="javascript">
function filer(id) {
var ihidden = "<input type='hidden'>";
if (document.layers) {
eval("document.layers."+id+".document.write(ihidden);");
eval("document.layers."+id+".document.close();");
eval("document.layers."+id+"k.document.write();");
eval("document.layers."+id+"k.document.close();");
} else if (document.all) {
eval(id+".innerHTML = ihidden;");
eval(id+"k.innerHTML = '';");
}
}
function filew(ifile,i) {
ifile.className = "ioculto";
var upload = "<span id='f"+i+"'><input type='file' name='f"+i+"' class='upload' onchange='filew(this,"+(1*i+1)+")'></span><span id='file"+(1*i+1)+"'></span>";
var id = ifile.name;
var data = "<span id='"+id+"k'>"+ifile.value+" <a href='#' style='cursor:hand' onclick=\"filer('"+id+"')\">Borrar</a><br></span>";
if (document.layers) {
document.layers.files.document.write(data);
document.layers.files.document.close();
eval("document.layers.file"+i+".document.write(upload);");
eval("document.layers.files.document.close();");
} else if (document.all) {
files.innerHTML += data;
eval("file"+i+".innerHTML += upload;");
}
}
</script>
</HEAD>
<BODY>
<h1>Múltiple upload</h1>
Este es un ejemplo de hacer un múltiple upload similar al de google para hacer attachments.<br>
Autor: <a href="http://www14.brinkster.com/alejomj2">AMJ [email protected]</a><br>
Fecha: 29/01/2005
<form name="f" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="200000">
<table border="1" width="100%">
<tr><td valign="top" width="25%">Agregar Archivo <span id="file1"><span id="f1"><input type="file" class="upload" name="f1" onchange="filew(this,2)"></span></span><span id="file2"></span>
</td><td> <br><span id="files"></span><br> </td>
</tr>
</table>
<a href="#" style="cursor:hand" onclick="document.f.submit()">Subir Archivos</a>
</form>
</body>
les agradezco su ayuda y/o comentarios de como poder cambiar el estilo del botón examinar del input tipo file