Foros del Web » Programando para Internet » PHP »

problemas para recibir variables de formularios dinamicos generados con javasript

Estas en el tema de problemas para recibir variables de formularios dinamicos generados con javasript en el foro de PHP en Foros del Web. hola, le comento mi problema: yo tengo un formulario dinamico, todo se genera bien, no tengo problemas en eso, el problema es que cuando lo ...
  #1 (permalink)  
Antiguo 12/06/2008, 06:34
 
Fecha de Ingreso: junio-2008
Mensajes: 9
Antigüedad: 15 años, 10 meses
Puntos: 0
problemas para recibir variables de formularios dinamicos generados con javasript

hola, le comento mi problema:
yo tengo un formulario dinamico, todo se genera bien, no tengo problemas en eso, el problema es que cuando lo quiero enviar a otra pagina no puedo leer los campos que genere dinamicamente, antes he hecho lo mismo y me funcionaba perfectamente, ahora no llego a encontrar el problema, este es el codigo del formulario que genero, lo que va en el select campo lo obtengo de un archivo txt que es pasado a array:

<form id="assist" action="script_sql/consulta_assist.php" method="get" name="assist" >
<fieldset id="fs">
<div id="criterio">
<br>
<select name="campo" id="campo">
<option value="0" selected="selected">Seleccione un campo</option>
<? $j=0; ?>
<optgroup label=" <? echo $nombre_tabla[$j] ?> "> <?
for ($i=0; $i<count($nombre_campo); $i++)
{
if ($i > 0)
{
if ($nombre_tabla[$i] != $nombre_tabla[$i-1])
{
?> </optgroup>
<optgroup label=" <? echo $nombre_tabla[$i] ?> "> <?
}}
?>
<option>
<?
if (strlen($etiqueta_campo[$i])<=2)
{echo $nombre_campo[$i];}
else
{echo $etiqueta_campo[$i];}
?>
</option>
<?
}
?>
</optgroup>
</select>
<select name="comparador" id="comparador">
<option value="0" selected="selected"> Seleccione un comparador </option>
<option>LIKE</option>
<option>></option>
<option><</option>
<option>>=</option>
<option><=</option>
<option>=</option>
<option><</option>
<option>BETWEEN</option>
</select>

<input id="texto" name="texto" type="text" />
<br>
<br>
</div>
</fieldset>
<input type="button" onClick="agregarHijo()" value="<? echo txt_add ?>" />
<input type="button" onClick="eliminarHijo()" value="<? echo txt_delete ?>" />
<input type="button" onClick="eliminarTodo()" value="<? echo txt_deleteall ?>" />
<input align="right" id="input" name="Input" type="submit" value="<? echo txt_submit ?> " />
</form>

y la pagina donde trato de recibir a los datos es la siguiente:

<?php
echo $_GET["campo"];
echo $_GET["comparador"];
echo $_GET["texto"];

$i=1;
while($_GET["campo"."$i"] != "")
{
echo $_GET["campo"."$i"];
echo $_GET["comparador"."$i"];
echo $_GET["texto"."$i"];
echo $_GET["opcion"."$i"];
$i++;
}
?>

Yo habia hecho esto en otra pagina de prueba, pero ahora no me funciona, en la otra anda bien pero aca no logro encontrar el error, lo que yo genero dinamicamente es lo que esta dentro del fielset. si alguien me puede ayuda gracias, si esta poco entendible el codigo sepan disculpar, tratare de aclararlo mas. gracias
  #2 (permalink)  
Antiguo 12/06/2008, 06:44
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: problemas para recibir variables de formularios dinamicos generados con ja

consejo nº1) Fijate el codigo html que escupe php :), eso sirve de mucha ayuda.
2º) ¿Puede ser que no estes poniendo los values de los option?

Suerte!
__________________
Saludoss
Guille
  #3 (permalink)  
Antiguo 12/06/2008, 07:54
 
Fecha de Ingreso: junio-2008
Mensajes: 9
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problemas para recibir variables de formularios dinamicos generados con ja

gracias, eso lo tenia mal, pero sigo sin poder recibir los datos en la otra pagina, le estoy dando vueltas al codigo y nada, la parte del select que tenia mal la simplifique asi:

<select name="campo" id="campo">
<option value="0" selected="selected"><? echo txt_concept ?></option>
<optgroup label=" <? echo $nombre_tabla[0] ?>">
<? for ($i=0; $i<count($nombre_campo); $i++)
{
if ($i > 0)
{
if ($nombre_tabla[$i] != $nombre_tabla[$i-1])
{ ?>
</optgroup>
<optgroup label=" <? echo $nombre_tabla[$i] ?> "> <?
}
}
?>
<option value="<? echo $nombre_campo[$i];?>"> <? echo $nombre_campo[$i];?></option>

<? } ?>
</optgroup>
</select>


pero de todas formas sigo sin poder recibir los datos en la otra pagina
  #4 (permalink)  
Antiguo 12/06/2008, 07:56
 
Fecha de Ingreso: junio-2008
Mensajes: 9
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problemas para recibir variables de formularios dinamicos generados con ja

aca les dejo mi codigo javascript por si lo quieren ver:

//---------------------------------------------------------------------------------------------
//Generacion de formulario dinamicos, agregando los criterios de seleccion
//---------------------------------------------------------------------------------------------

var cantidad = 0;
var orden=1;

//esta funcion agrega la condicion "AND" u "OR" que desea el usuario, despues llama a la funcion clonar nodos para agregar el nuevo criterio

function agregarHijo()
{
cantidad++;
document.getElementById('fs').appendChild(document .createElement('br'));
var nuevohijo = document.createElement('select');
nuevohijo.name = "opcion"+cantidad;
var op1 = new Option("AND", "AND");
var op2 = new Option("OR", "OR");
nuevohijo.appendChild(op1);
nuevohijo.appendChild(op2);
document.getElementById('fs').appendChild(nuevohij o);
document.getElementById('fs').appendChild(document .createElement('br'));
clonarNodos();
}

//esta funcion elimina un criterio agregado, tiene el for porque debe eliminar lineas en blancoy los demas nodos que se agregaron

function eliminarHijo()
{
if (cantidad!=0)
{
for (i=0; i<11; i++)
{
var nuevohijo=document.getElementById('fs');
nuevohijo.removeChild(nuevohijo.lastChild);
}
cantidad--;
}
}

function eliminarTodo()
{
while (cantidad!=0)
{
for (i=0; i<11; i++)
{
var nuevohijo=document.getElementById('fs');
nuevohijo.removeChild(nuevohijo.lastChild);
}
cantidad--;
}
}

//esta funcion lo que hace es clonar el nodo en el que se encuantran los criterios de seleccion

function clonarNodos()
{
document.getElementById('fs').appendChild(document .createElement('br'));
var id=document.getElementById("campo");
var nuevos=id.cloneNode(true);
nuevos.style.id='campo'+cantidad;
nuevos.name='campo'+cantidad;
id=document.getElementById("fs");
id.appendChild(nuevos);
espaciar();
var id=document.getElementById("comparador");
var nuevos=id.cloneNode(true);
nuevos.style.id='comparador'+cantidad;
nuevos.name='comparador'+cantidad;
id=document.getElementById("fs");
id.appendChild(nuevos);
espaciar();
var id=document.getElementById("texto");
var nuevos=id.cloneNode(true);
nuevos.style.id='texto'+cantidad;
nuevos.name='texto'+cantidad;
nuevos.value="";
id=document.getElementById("fs");
id.appendChild(nuevos);
document.getElementById('fs').appendChild(document .createElement('br'));
document.getElementById('fs').appendChild(document .createElement('br'));
}

function espaciar() {
var espacio = document.createTextNode("\u00a0");
document.getElementById("fs").appendChild(espacio) ;
}
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 18:12.