Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2009, 06:51
Avatar de hschimpf
hschimpf
 
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 15 años, 9 meses
Puntos: 17
Pregunta Campo agregado por Javascript (document.createElement) no me llega por $_POST en php

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 original
  1. function crearProfesiones(arrayProfesiones) {
  2.    /* por parametros recibo una cadena con la lista de profesiones y la desarmo a un array */
  3.     var profesiones = arrayProfesiones.split(";");
  4.    /* pregunto si la cantidad de campos (profesiones) es mayor a la cantidad actual de combos activos */
  5.     if (profesiones.length > num) {
  6.         num++;
  7.         cantidad++;
  8.         /* creo un div donde meto el SELECT y el boton para sacar el SELECT agregado */
  9.         fi = document.getElementById('camposProfesion');
  10.         contenedor = document.createElement('div');
  11.         contenedor.id = 'div'+cantidad;
  12.         fi.appendChild(contenedor);
  13.        
  14.         /* creo el SELECT */
  15.         ele = document.createElement('select');
  16.         ele.name = 'profesion'+cantidad;
  17.         /* lo agrego dentro del DIV */
  18.         contenedor.appendChild(ele);
  19.         /* agrego una opcion por defecto que no tenga valor */
  20.         op = new Option("- Seleccione Profesion -", "");
  21.         ele.appendChild(op);
  22.         /* recorro el array */
  23.         for (var i in profesiones) {
  24.             /* dentro de la cadena tengo el valor y el titulo del OPTION, separo estos valores */
  25.             var profesion = profesiones[i].split(":");
  26.             op = new Option((profesion[0]), (profesion[1]));
  27.             /* agrego el OPTION al SELECT */
  28.             ele.appendChild(op);
  29.         }
  30.         /* agrego un boton para eliminar el DIV completo */
  31.         ele2 = document.createElement('input');
  32.         ele2.type = 'button';
  33.         ele2.value = 'X';
  34.         ele2.name = 'div'+cantidad;
  35.         ele2.title = 'Eliminar Profesion';
  36.         ele2.className = 'BOTONCERRAR';
  37.         ele2.onclick = function () { borrarProfesion(this.name); }
  38.         contenedor.appendChild(ele2);
  39.     } else {
  40.         /* si llego a la cantidad total de profesiones muestro un aviso */
  41.         alert("No puede agregar mas profesiones");
  42.     }
  43.     /* si ya agrego la cantidad maxima oculto el boton */
  44.     if (profesiones.length <= num) { document.getElementById('botonAgregar').style.visibility = "hidden"; }
  45. }
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!

Última edición por hschimpf; 16/06/2009 a las 11:40 Razón: cambie marcado PHP por Javascript..