Foros del Web » Programando para Internet » Javascript »

Recoger inputs creados con DOM JS en $_POST

Estas en el tema de Recoger inputs creados con DOM JS en $_POST en el foro de Javascript en Foros del Web. Hola buenas: estoy intentando recoger datos en $_POST que provienen de un formulario en el que puedo crear nuevos inputs con un código JS en ...
  #1 (permalink)  
Antiguo 26/02/2011, 02:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Recoger inputs creados con DOM JS en $_POST

Hola buenas:

estoy intentando recoger datos en $_POST que provienen de un formulario en el que puedo crear nuevos inputs con un código JS en DOM. El problema es que los nuevos inputs html creados en el DOM con JS no quedan recogidos posteriormente en variable $_POST. ¿Alguien sabe cómo podría hacerlo? Gracias.



<script type="text/javascript">
function radio_persona(persona){

switch (persona) {
case 'empresa':
document.getElementById('cliente_particular').styl e.display = 'none';
document.getElementById('cliente_empresa').style.d isplay = '';
break;
case 'particular':
document.getElementById('cliente_empresa').style.d isplay = 'none';
document.getElementById('cliente_particular').styl e.display = '';
break;
}
}

function nueva_direccion () {

var direccion = document.getElementById('div_direccion');
var direccion_1 = document.createElement("div");
var texto = '<table border="1" id="table_direccion"><tr><td colspan="4"><b>Dirección</b></td></tr><tr><td colspan="4"><input type="text" style="width:300px" /></td><tr><tr><td><b>CP</b></td><td><input type="text" style="width:50px" /></td><td><b>Población</b></td><td><input type="text" style="width:160px" /></td></tr><tr><td colspan="4"><input type="checkbox" value="predeterminada"/>Dirección predeterminada (facturación)</td></tr><div id="div_direccion"></div></table>';
direccion_1.innerHTML = texto;
direccion.appendChild(direccion_1);

}
</script>

</head>

<body>
<div id="crear cliente">
<form action="clientes.php" method="post">
<table border="1" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td width="100%" class="pageName" >CREAR CLIENTE</td>
</tr>
<tr>
<tr>
<td width="100%" class="pageName" >
<input type="radio" name="empresa" onclick="radio_persona('empresa')" />Empresa<br />
<input type="radio" name="particular" onclick="radio_persona('particular')" />Particular<br />
</td>
</tr>
<td class="bodyText" >

<div id="cliente_empresa" name="cliente_empresa" style="display:none">
<table>
<tr>
<td colspan="2"><i>Empresa</i></td>
</tr>
<tr>
<td><b>CIF</b></td>
<td><input type="text" style="width:85px" name="CIF" /></td>
</tr>
</table>
<table>
<tr>
<td><b>Razón Social</b></td>
</tr>
<tr>
<td><input type="text" style="width:300px" name="razon_social"/></td>
</tr>
</table>
</div>

<div id="cliente_particular" name="cliente_particular" style="display:none">
<table>
<tr>
<td colspan="2"><i>Particular</i></td>
</tr>
<tr>
<td><b>DNI</b></td>
<td><input type="text" style="width:85px" name="DNI"/></td>
</tr>
</table>
<table>
<tr>
<td><b>Nombre</b></td>
</tr>
<tr>
<td><input type="text" style="width:300px" name="nombre"/></td>
</tr>
<tr>
<td><b>Primer Apellido</b></td>
</tr>
<tr>
<td><input type="text" style="width:300px" name="primer_apellido"/></td>
</tr>
<tr>
<td><b>Segundo Apellido</b></td>
</tr>
<tr>
<td><input type="text" style="width:300px" name="segundo_apellido"/></td>
</tr>
</table>
</div>
<table>
<tr>
<td><b>Observaciones</b></td>
</tr>
<tr>
<td><input type="text" style="width:300px" name="observaciones"/></td>
</tr>
<tr>
<td><input type="submit" value="Crear Cliente"/></td>
</tr>
</table>
</p>
</td>
</tr>
</table>
<div id="div_direccion"></div>
<table border="1" id="table_direccion">
<tr>
<td colspan="4"><b>Dirección</b></td>
</tr>
<tr>
<td colspan="4"><input type="text" style="width:300px" name="direccion"/></td>
</tr>
<tr>
<td><b>CP</b></td>
<td><input type="text" style="width:50px" name="CP"/></td>
<td><b>Población</b></td>
<td><input type="text" style="width:160px" name="poblacion"/></td>
</tr>
<tr>
<td colspan="4"><input type="checkbox" value="predeterminada" name="direccion_predeterminada"/>Dirección predeterminada (facturación)</td>
</tr>
<tr>
<td colspan="4"><input type="button" onclick="nueva_direccion()" value="Añadir nueva Dirección"/></td>
</tr>
<tr>
<td colspan="4"><input type="submit" value="Crear Dirección"/></td>
</tr>
</table>
</form>
  #2 (permalink)  
Antiguo 26/02/2011, 12:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Recoger inputs creados con DOM JS en $_POST

Sinceramente no lei el código, pero verifica que el código esté insertando entre las etiquetas <form></form>, si no es así entonces no se enviará los datos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/02/2011, 12:53
 
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Recoger inputs creados con DOM JS en $_POST

Hola abimaelrc, gracias por responder pero no es ese el problema. Quizá no me haya explicado bien.

El código que he insertado tiene un apartado que genera nuevo contenido desde el boton 'añadir dirección' utilizando las funciones de DOM de JavaScript. Lo que sucede es que cuando se introducen datos en los inputs html generados a través de DOM, éstos no quedan registrados en la variable de $_POST al realizar el envío del formulario. Desconozco el motivo.

¿Alguien podría indicarme qué estoy haciendo mal o si es posible realizar lo que intento?

Gracias!!!!
  #4 (permalink)  
Antiguo 26/02/2011, 14:00
Avatar de CHUJALT  
Fecha de Ingreso: enero-2002
Mensajes: 60
Antigüedad: 22 años, 3 meses
Puntos: 0
Respuesta: Recoger inputs creados con DOM JS en $_POST

Saludos....

No te entendí bien, pero si el problema lo tienes en los campos de texto que hay dentro del javascript yo veo que le faltan el atributo "name" a cada uno, sin eso no le puedes dar nombre a la variable que quieres generar con el valor de ese campo.

Saludos
__________________
http://www.chujalt.com
  #5 (permalink)  
Antiguo 26/02/2011, 14:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Recoger inputs creados con DOM JS en $_POST

Y yo te vuelvo a indicar que verifiques si estás añadiendo el código entre las etiquetas <form> y </form> y verifica si tiene el atributo name.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 26/02/2011, 14:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP a Javascript

Etiquetas: dom, inputs, js, post, recoger
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 16:26.