que tal amigos? tengo un problema que no se me ocurre cual es la causa.
Hace unos dias postee un tema para agregar un campo a un formulario dinamicamente mediante 'document.createElement', ahora estoy queriendo acceder al valor almacenado en ese campo al momento de submitar el formulario pero no me llega por $_POST el valor.. como si no existiera en el formulario..
la funcion para agregar el campo, en este caso es un combo, es la siguiente:
Código JAVASCRIPT
:
Ver originalfunction crearProfesiones(arrayProfesiones) {
/* por parametros recibo una cadena con la lista de profesiones y la desarmo a un array */
var profesiones = arrayProfesiones.split(";");
/* pregunto si la cantidad de campos (profesiones) es mayor a la cantidad actual de combos activos */
if (profesiones.length > num) {
num++;
cantidad++;
/* creo un div donde meto el SELECT y el boton para sacar el SELECT agregado */
fi = document.getElementById('camposProfesion');
contenedor = document.createElement('div');
contenedor.id = 'div'+cantidad;
fi.appendChild(contenedor);
/* creo el SELECT */
ele = document.createElement('select');
ele.name = 'profesion'+cantidad;
/* lo agrego dentro del DIV */
contenedor.appendChild(ele);
/* agrego una opcion por defecto que no tenga valor */
op = new Option("- Seleccione Profesion -", "");
ele.appendChild(op);
/* recorro el array */
for (var i in profesiones) {
/* dentro de la cadena tengo el valor y el titulo del OPTION, separo estos valores */
var profesion = profesiones[i].split(":");
op = new Option((profesion[0]), (profesion[1]));
/* agrego el OPTION al SELECT */
ele.appendChild(op);
}
/* agrego un boton para eliminar el DIV completo */
ele2 = document.createElement('input');
ele2.type = 'button';
ele2.value = 'X';
ele2.name = 'div'+cantidad;
ele2.title = 'Eliminar Profesion';
ele2.className = 'BOTONCERRAR';
ele2.onclick = function () { borrarProfesion(this.name); }
contenedor.appendChild(ele2);
} else {
/* si llego a la cantidad total de profesiones muestro un aviso */
alert("No puede agregar mas profesiones");
}
/* si ya agrego la cantidad maxima oculto el boton */
if (profesiones.length <= num) { document.getElementById('botonAgregar').style.visibility = "hidden"; }
}
la funcion borrar profesion ejecuta el 'removeChild' y saca el DIV
en mi pagina tengo una tabla dentro del FORM, y una celda destinada a la funcion que agrega los SELECT:
Código HTML:
<TD align="left" id="camposProfesion"></TD>
y el boton para agregar un SELECT mas (la funcion PHP me devuelve la cadena con las profesiones separadas con ';' y cada parte a su vez con el valor y titulo separados por ':'):
Código HTML:
<INPUT id="botonAgregar" type="button" value="Agregar Profesion" onclick="javascript:crearProfesiones(<?php echo "'"; listaProfesiones(False); echo "'"; ?>)">
en mi script PHP que procesa los POST puse un
print_r($_POST); para ver todos los valores que recibo y no tengo ninguno de los SELECT que agrego dinamicamente..
hay algun problema con el javascript? que estoy haciendo mal?
gracias por la ayuda!