Hola
Tengo un formulario algo extenso, donde dentro del cual, hay un pequeño sub-apartado donde pueden insertar varias lineas
Código HTML:
Ver original <table width="100%" border="0"> <td>Descripci
ón
</td> <td colspan="3"><input type="text" id="descripcio_mesura_correctora" name="descripcio_mesura_correctora" size="80"/></td> <td rowspan="3"><input type="button" onclick="javascript:nova_mesura_correctora();" value=" Añadir Medida Correctora"/></td> <select id="responsable_mesura_correctora" name="responsable_mesura_correctora" class="select_control"> <?php
$wresponsables = " WHERE situacio=0";
$sql_responsables = $objResponsables->mostrar_responsables_w($wresponsables);
if(mysql_num_rows($sql_responsables)!=0){
while($rs_responsables = mysql_fetch_array($sql_responsables)){
?>
<option value="<?php echo $rs_responsables['id_responsable'];?>">
<?php echo $rs_responsables['nom'];?></option> <?php
}// -- $rs_origen = mysql_fetch_array($sql_origen)){
}// -- if(mysql_num_rows($sql_origen)!=0){
?>
<td align="right">Fecha Aplicaci
ón
</td> <td align="left"><input type="text" id="data_mesura_correctora" name="data_mesura_correctora" value="" size="10" readonly="readonly"/></td> <table id="mesura_correctora" width="100%" border="0"> <td class="cap_taula_resultat" valign="top" align="center">Descripci
ón
</td> <td class="cap_taula_resultat" valign="top" align="center">Responsable
</td> <td class="cap_taula_resultat" valign="top" align="center">Fecha Aplicaci
ón
</td> <td class="cap_taula_resultat" valign="top" align="center">Archivos/Imagenes
</td>
y a mesura que las insertan uso el siguiente código (jquery) para mostrarlo sin refrescar la página
Código Javascript
:
Ver originalfunction nova_mesura_correctora(){
var valit = true;
if($("#descripcio_mesura_correctora").val() == ''){
alert('La descripcion de la Mesura Correctora es un campo obligatorio');
valit=false;
}
if(valit==true){
if($("#responsable_mesura_correctora").val() == 0){
alert('El Responsable de la Mesura Correctora es un campo obligatorio');
valit=false;
}
}
if(valit==true){
if($("#data_mesura_correctora").val() == ''){
alert('La Fecha de la Mesura Correctora es un campo obligatorio');
valit=false;
}
}
if(valit==true){
$.post("controls/afegir_mesura.php", {tipus: 'correctora', id_rel_control: $('#id_rel_control').attr('value'), descripcio_mesura_correctora: $("#descripcio_mesura_correctora").val(), responsable_mesura_correctora: $("#responsable_mesura_correctora").val(),data_mesura_correctora: $("#data_mesura_correctora").val()},
function(id_mesura_correctora){
if(!isNaN(id_mesura_correctora)){
var cadena;
cadena = "<tr id=fila_mesura_correctora_"+id_mesura_correctora+">";
cadena = cadena + "<td>" + $("#descripcio_mesura_correctora").val() + "</td>";
cadena = cadena + "<td>" + $('#responsable_mesura_correctora :selected').text() + "</td>";
cadena = cadena + "<td>" + $("#data_mesura_correctora").val() + "</td>";
cadena = cadena + "<td><input type='file' name='adjunts_data_mesura_correctora["+id_mesura_correctora+"]' maxlength='5' accept='gif|jpg|pdf'/></td>";
cadena = cadena + "<td><a onclick='eliminar_mesura_correctora("+id_mesura_correctora+");'><img src='lib/images/delete.png' class='img_delete'/></a></td>";
$("#mesura_correctora tbody").append(cadena);
$("#descripcio_mesura_correctora").val('');
$('#responsable_mesura_correctora option[value=0]').attr('selected',true);
$("#data_mesura_correctora").val('');
}else{
alert("Error: "+id_mesura_correctora);
}
});
}
}
el problema que tengo es que en cada linea que añade se le puede añadir un adjunto un vez haya insertado la linea, pero no ser como asignarle un id concreto para q luego cuando mande el formulario y suban los archivos pueda guardar el id de ese campo relacionado con el nombre del archivo subido-
he probado lo siguiente
<input type='file' name='adjunts_data_mesura_correctora["+id_mesura+']' maxlength='5' accept='gif|jpg|pdf'/>
pero cuando envio el form con todo y recibo estos valores, haciendo lo siguiente:
Código PHP:
if(isset($_FILES['adjunts_data_mesura_correctora'])){
echo "<pre>";
print_r($_FILES['adjunts_data_mesura_correctora']);
echo "</pre>";
}
el valor id que le asigno no me aparece en ningún lugar... y no se me ocurre como hacer eso.
como puedo solucionarlo?
espero haber sido más o menos claro.
gracias de antemano!
saludos