Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Recoger datos formulario dinamico

Estas en el tema de Recoger datos formulario dinamico en el foro de PHP en Foros del Web. Hola, tengo un formulario dinámico en el cual agrega campos dinámicos con javascript pero quiero saber como puedo recoger esos datos que se van agregando? ...
  #1 (permalink)  
Antiguo 08/08/2013, 10:19
jesusmiranda92
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Recoger datos formulario dinamico

Hola, tengo un formulario dinámico en el cual agrega campos dinámicos con javascript pero quiero saber como puedo recoger esos datos que se van agregando?

o como puedo llamar los campos agregados dinamicamente por PHP el código que tengo es el siguiente:


Este es el codigo Javascript
Código:
<script type="text/javascript">
var contadorid =1;
 
function Agregarfilas() {
    contadorid++;
    var agregarcampos = document.getElementById('raizlectura').cloneNode(true);
    agregarcampos.id = contadorid;
    agregarcampos.style.display = 'block';
    var newField = agregarcampos.childNodes;
    for (var i=0;i<newField.length;i++) {
        var theName = newField[i].name
        if (theName)
            newField[i].name = theName + contadorid;
    }
    var insertarcam = document.getElementById('raizescritura');
    insertarcam.parentNode.insertBefore(agregarcampos,insertarcam);
}
 
window.onload = function()
{
 document.getElementById("Agregarfilas").onclick = Agregarfilas;    
    Agregarfilas();
};
</script>

este es el formulario HTML

Código HTML:
<div id="raizlectura" style="display: none">
<center>	
<input type="date" name="FechaGas" size="10" maxlength="10">
<input type="text" name="Dest" size="12"  maxlength="30" placeholder="Destino">
<TD WIDTH=100><select size="1" name="TypeG">													  
<option value=""> Tipo de Gasto</option>
		<option>informacion de texto2</option> 
		<option>informacion de texto2</option>
		</select></TD>	
<TD WIDTH=100><select size="1" name="Moneda">													  
<option value="">Moneda</option><option>MXN</option><option>USD</option></select></TD>
<TD WIDTH=100><input type="text" size="10" name="Subto" onChange="validarSiNumero(this.value);" placeholder="Sub total"/></TD>
<TD WIDTH=100><input type="text" size="4" name="Porcentaje"  onChange="validarSiNumero(this.value);" placeholder="IVA %"/></TD>
<TD WIDTH=100><input type="text" size="10" name="Iva"  onChange="validarSiNumero(this.value);" placeholder="IVA $"/></TD>
<TD WIDTH=100><input type="text" size="10" name="Total"  onChange="validarSiNumero(this.value);" placeholder="Total"/></TD>
<TD WIDTH=100><input type="text" name="Just" placeholder="Justificacion"/></TD>
<TD WIDTH=100><input type="text" size="10" name="RFC" placeholder="RFC"/></TD>
<TD WIDTH=100><input type="text" size="10" name="Factura" placeholder="Factura"/></TD>
</TR>
<TR>
<input type="button" value="Quitar" onclick="this.parentNode.parentNode.removeChild(this.parentNode);" />
</center>
</div>

	<span id="raizescritura"></span>
	<p align= "left"><input type="button" id="Agregarfilas" value="+" /><p> 
por favor dejen códigos de ejemplo, muchas gracias por la ayuda!
  #2 (permalink)  
Antiguo 08/08/2013, 10:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger datos formulario dinamico

Todos los campos se acceden de la misma forma, utilizando su name.

No importa si son creados con Javascript o no, si están presentes en el formulario al momento de enviarlo entonces estarán presentes al recibir los datos con PHP.

Ahora, el problema viene si ni siquiera sabes como se llaman dichos campos, ¿no te parece?

Si estás crando campos como "nombre + N" dónde N es un número que se incrementa entonces no es fácil adivinar con PHP cuantos campos existen así.

Para eso se recomienda usar la notación de array con un nombre en común, así lo que recibes será un array.

Cita:
input.name = 'foo[' + i + ']';
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/08/2013, 11:22
jesusmiranda92
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Recoger datos formulario dinamico

pero como puedo hacer para obtener la informacion de los campos que agreguen dinamicamente?

disculpa mi ignorancia pero soy muy noob, saludos!
  #4 (permalink)  
Antiguo 08/08/2013, 11:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger datos formulario dinamico

Te lo acabo de decir, se acceden de la misma forma, no importa si los creaste o no con Javascript.

Lo importante es que sepas como se llaman, de otra forma es complicado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/08/2013, 12:31
Avatar de andinog  
Fecha de Ingreso: febrero-2012
Mensajes: 50
Antigüedad: 12 años, 2 meses
Puntos: 6
Respuesta: Recoger datos formulario dinamico

Hola ¿te referis, a acceder a los datos desde PHP, o Javascript?
__________________
"El que nada duda nada sabe"
Ser Programador
  #6 (permalink)  
Antiguo 08/08/2013, 12:46
jesusmiranda92
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Recoger datos formulario dinamico

el nombre si lo se, pero los campos dinámicos tienen los mismos nombres que el de lectura raíz, es decir, cuando agrego un campo toma el mismo nombre del original o hay alguna forma de indicarle a php que tome todos los campos de x ID al xx ID es decir un rango?
  #7 (permalink)  
Antiguo 08/08/2013, 12:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger datos formulario dinamico

Cita:
Iniciado por andinog Ver Mensaje
Hola ¿te referis, a acceder a los datos desde PHP, o Javascript?
¿Estamos en el foro de PHP o de Javascript?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 08/08/2013, 12:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger datos formulario dinamico

Cita:
Iniciado por jesusmiranda92 Ver Mensaje
el nombre si lo se, pero los campos dinámicos tienen los mismos nombres que el de lectura raíz, es decir, cuando agrego un campo toma el mismo nombre del original o hay alguna forma de indicarle a php que tome todos los campos de x ID al xx ID es decir un rango?
Es lo que te estoy diciendo, si tus campos se llaman: campo1, campo2, campo3, etc. es bastante complicado saber cuantos campos comienzan con el mismo nombre.

¿No te parece complicado?

Ahora, si usas nomenclatura de arrays: campo[1], campo[2], campo[3], etc. es mucho más sencillo pues todos los campos vienen agrupados en un array.

¿Me explico?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 08/08/2013, 12:52
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: Recoger datos formulario dinamico

hola, al colocar --> name="Factura[]" <-- con corchetes en el nombre, lo que te llega a php es un array.
si tienes 100 input con el mismo "name", te llegaran los 100 en uno solo
php
$FACTURA=$_POST[Factura]; //Contiene los 100 datos.
  #10 (permalink)  
Antiguo 08/08/2013, 13:25
jesusmiranda92
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Recoger datos formulario dinamico

eso realize, y solo me aparece array en lugar del texto que inserte, hay algun codigo con el cual pueda obtenerlo todo lo del formulario y guardarlo en bloc de notas?
  #11 (permalink)  
Antiguo 08/08/2013, 13:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Recoger datos formulario dinamico

Cita:
Iniciado por jesusmiranda92 Ver Mensaje
eso realize, y solo me aparece array en lugar del texto que inserte, hay algun codigo con el cual pueda obtenerlo todo lo del formulario y guardarlo en bloc de notas?
Espera, los arrays no se pueden imprimir, porque no son cadenas de texto.

Necesitas convertir dicha estructura a una cadena de texto, puedes usar join() para convertir una lista de valores en una cadena de valores separados por algún caracter, etc.

Te hacen falta muchas nociones básicas sobre tipos de datos y conversiones entre ellos, deberías consultar el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: dinamico, formulario, html, recoger, select
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:34.