Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2012, 14:40
maritza_901
 
Fecha de Ingreso: agosto-2009
Mensajes: 5
Antigüedad: 13 años, 7 meses
Puntos: 0
creacion de varios selects con nombres tipo array con javascript

Hola espero tengan un buen dia mi problema es el siguiente:
estoy creando un formulario dinamico con javscript, php y html. Cuando el usuario quiera ingresar una fila de datos mas debe presionar el boton crear, el cual insertara una linea con varios inputs y un select. hasta aqui todo bien.

El problema resulta al generar la consulta de la tabla en php dentro de la funcion javascript para llenar los option del select . aqui les dejo el codigo.

function crear(obj) {
num++;
fi = document.getElementById('fiel'); // 1
contenedor = document.createElement('div'); // 2
contenedor.id = 'div'+num; // 3
// fi.insertBefore(contenedor,obj); // 4
fi.appendChild(contenedor); // 4

var tabla = document.getElementById('miTabla');

tabla.tBodies[0].insertRow(2);
// Crear la columna de tipo <th> que hace de cabecera de fila
var cabecera = document.createElement("td");

var nomSel="sel["+num+"]";
cabecera.setAttribute('scope', 'row');

cabecera.innerHTML = '<input name="nombre'+num+'" type="text" />'
tabla.tBodies[0].rows[2].appendChild(cabecera);// Crear las dos columnas de datos y añadirlas a la nueva fila

tabla.tBodies[0].rows[2].insertCell(1);

tabla.tBodies[0].rows[2].cells[1].innerHTML = '<input name="parentesco'+[num]+'" type="text" />';

tabla.tBodies[0].rows[2].insertCell(2);
tabla.tBodies[0].rows[2].cells[2].innerHTML = '<select id="'+nomSel+'" name="'+nomSel+'" ></select>';

tabla.tBodies[0].rows[2].insertCell(3);

tabla.tBodies[0].rows[2].cells[3].innerHTML = '<input name="num_id'+[num]+'" type="text" />';

tabla.tBodies[0].rows[2].insertCell(4);

tabla.tBodies[0].rows[2].cells[4].innerHTML ='<input type="button" value="Crear" onclick="crear(this)" />'

<?php

$sql7 = "SELECT * FROM tbl_tipo_id";
$result7 = $db->sql_query($sql7);

while ($tbl_tipo_id = $db->sql_fetchrow($result7)) {

?>

o = document.createElement("OPTION");
o.value="<?php echo $tbl_tipo_id['ID']?>";
o.text= "<?php echo $tbl_tipo_id['NOM_TIPO_ID']?>";


document.forms.frmDatos.nomSel.options.add (o);

<?php
}
?>
}


Esta es la funcion javascript, inserte en una variable "nomSel" el nombre del select
pero no me inserta los datos de la consulta php.

<form name="frmDatos" action="<?php echo $action ;?>" method="post" onSubmit="return valida(this)">
<fieldset id="fiel">
<table class="lista" width="100%" id='miTabla'>
<tr>
<th width="20%">NOMBRE</th>
<th width="20%">PARENTESCO</th>
<th width="20%">TIPO DE ID</th>
<th width="20%">NUM ID</th>
<th width="20%">NUEVO REGISTRO</th>
</tr>
<tr>
<td><input name="nombre[0]" type="text" /></td>
<td><input name="parentesco[0]" type="text" /></td>
<td><select name="tipo_id[0]"><?php

$sql7 = "SELECT * FROM tbl_tipo_id";
$result7 = $db->sql_query($sql7);

while ($tbl_tipo_id = $db->sql_fetchrow($result7)) {

?><option value= "<?php echo $tbl_tipo_id['ID'] ?>" ><?php echo $tbl_tipo_id['NOM_TIPO_ID']?></option>
<?php } ?></select></td>
<td><input name="num_id[0]" type="text" /></td>
<td>
<input type="button" value="Crear" onclick="crear(this)" />
</td>
</tr>
<tr><th>&nbsp;</th><td><input name="validar" type="submit" /></td></tr>

</table>
</fieldset>

<br><a href="javascript:cerrar();"> presiona aquí para cerrar</a> </div>

</form>
y este es el codigo del formulario

espero que alguien me pueda ayudar llevo dos dias intentando que funcione