Si definitivamente mi problema es en el html, pero de verdad no veo el problema, estos son los codigos que utilizo. En IE si realiza todo el proceso correctamente, es en mozilla firefox que no me guarda nada. Si puedes mirarlo para ver si ves algo que yo no. Y sólo se presenta con el campo dinámico porque tengo otro y lo guarda correctamente en ambos navegadores. Gracias
Estoy utilizando este script para crear los campos dinamicamente:
Código:
<script type="text/javascript">
var numero = 0;
// Funciones comunes
c= function (tag) { // Crea un elemento
return document.createElement(tag);
}
d = function (id) { // Retorna un elemento en base al id
return document.getElementById(id);
}
e = function (evt) { // Retorna el evento
return (!evt) ? event : evt;
}
f = function (evt) { // Retorna el objeto que genera el evento
return evt.srcElement ? evt.srcElement : evt.target;
}
addField = function () {
container = d('files');
span = c('SPAN');
span.className = 'file';
span.id = 'file' + (++numero);
field = c('INPUT');
field.name = 'archivos[]';
field.type = 'file';
a = c('A');
a.name = span.id;
a.href = '#';
a.onclick = removeField;
a.innerHTML = 'Quitar';
span.appendChild(field);
span.appendChild(a);
container.appendChild(span);
}
removeField = function (evt) {
lnk = f(e(evt));
span = d(lnk.name);
span.parentNode.removeChild(span);
}
</script>
Los campos se crean dentro de esta capa:
Código:
<form action="controlador/Inmueble.controller.php" method="post" enctype="multipart/form-data" name="form1" id="test">
<input name="foto_ppal" type="file" class="required" id="foto_ppal" size="50" />
<div id="files"></div>
</form>
Cuando imprimo el valor de count($_FILES['archivos']['name']); en mozilla me dice que es vacio, por el contrario en IE si imprime el valor de acuerdo a la cantidad de archivos agregados y los guarda correctamente.