Foros del Web » Programando para Internet » Javascript »

Uso de innerHTML para crear campos file

Estas en el tema de Uso de innerHTML para crear campos file en el foro de Javascript en Foros del Web. Tengo un formulario con varios campos y una de las posiblidades es agregar n campos de tipo file, cada uno acompañado de un textarea para ...
  #1 (permalink)  
Antiguo 23/10/2007, 12:33
 
Fecha de Ingreso: enero-2002
Ubicación: Córdoba
Mensajes: 39
Antigüedad: 22 años, 4 meses
Puntos: 0
Pregunta Uso de innerHTML para crear campos file

Tengo un formulario con varios campos y una de las posiblidades es agregar n campos de tipo file, cada uno acompañado de un textarea para agregar una descripción. No utilicé DOM porque el formulario está dentro de una tabla con estilos y demás y me resultaba muy complicado maquetar los datos de esa manera.
El problema es que al agregar un nuevo campo file pierdo los datos que ya se cargaron en los otros file, no así en los textarea.
Les paso el código y me dan una mano?
Muchas gracias desde ya.

formulario.asp

<tr>
<td colspan=3>
<div id="slides"></div>
<label style="cursor:hand" onclick="addSlide(1)">[AGREGAR SLIDE]</label>
</td>
</tr>


validador.js

function addSlide(i){
if(i==1){ //extra
var extras = parseInt(document.all('totslides').value) - 3; //resto las 3 que aparecen por defecto
i = extras + 4;
document.all('totslides').value = parseInt(i)
}
var nuevoslide = '<div id="divSlides"'+i+' style="display:block">';
nuevoslide += '<table id="tablaSlides"'+i+' width="100%" border="0" cellpadding="2" cellspacing="0">';
nuevoslide += '<tr>';
nuevoslide += '<td class=cabecera valign=top width=22%>';
nuevoslide += 'Slide ' + i;
nuevoslide += '</td>';
nuevoslide += '<td valign=top>';
nuevoslide += '<input type=file name="s'+i+'" size=66>';
nuevoslide += '<label id="lb_slide'+i+'" style="display:none"><font id=error>Debe adjuntar un archivo</font></label>';
nuevoslide += '<label id="lb_file'+i+'" style="display:none"><font id=error>Sólo puede adjuntar archivos GIF, JPG o JPEG</font></label>';
nuevoslide += '</td>';
nuevoslide += '</tr>';
nuevoslide += '<tr>';
nuevoslide += '<td class=cabecera valign=top>';
nuevoslide += 'Descripción slide '+i+':';
nuevoslide += '</td>';
nuevoslide += '<td>';
nuevoslide += '<textarea name="txt_descrip'+i+'" class=text cols=50 rows=4></textarea>';
nuevoslide += '<label id="lb_descrip'+i+'" style="display:none"><font id=error>Complete este campo</font></label>';
nuevoslide += '</td>';
nuevoslide += '</tr>';
nuevoslide += '</table>';
nuevoslide += '</div>';
document.all('slides').innerHTML += nuevoslide
}
__________________
Andrea [;-)]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:25.