Foros del Web » Programando para Internet » PHP »

Formulario dinamico

Estas en el tema de Formulario dinamico en el foro de PHP en Foros del Web. Hola a todos, esta es mi primera pregunta, también espero ayudarles en lo que pueda. Estoy haciendo un proyecto, y me quedé bloqueado con una ...
  #1 (permalink)  
Antiguo 17/03/2008, 12:09
Avatar de Lagartus  
Fecha de Ingreso: marzo-2008
Ubicación: Santiago de Compostela
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Formulario dinamico

Hola a todos, esta es mi primera pregunta, también espero ayudarles en lo que pueda.
Estoy haciendo un proyecto, y me quedé bloqueado con una cosilla, necesito que en un formulario al pulsar un botón, se añadan input text (es decir, código html) con más opciones (en este caso más input text), para seguir rellenando.
El problema consigo semi-solucionarlo con javascript pero me da muchos problemas para luego continuar con el $_POST.
Ej.
Direccion: [____input text_______] [Botón]


Alguna idea??.
Gracias de antemano.
  #2 (permalink)  
Antiguo 17/03/2008, 12:25
 
Fecha de Ingreso: marzo-2008
Ubicación: Venezuela
Mensajes: 60
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Formulario dinamico

una cosa que puedes hacer es llevar un input hidden con un contador. cuando crees un nuevo input text, le colocas el número del contador + 1. algo así:

Código:
<input type="hidden" name="contador" value="0">
<input type="text" name="direccion0">

// el nuevo input termina con: document.getElementById("contador").value + 1
<input type="text" name="direccion1">
lo puedes hacer de muchas maneras: con createElement(), innerHTML, Ajax..
tú decides ahí

saludos!
  #3 (permalink)  
Antiguo 17/03/2008, 12:37
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Formulario dinamico

creo que lo que necesitas es usar D O M

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Última edición por eits; 17/03/2008 a las 13:03
  #4 (permalink)  
Antiguo 18/03/2008, 12:49
Avatar de Lagartus  
Fecha de Ingreso: marzo-2008
Ubicación: Santiago de Compostela
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Formulario dinamico

Gracias por las respuestas. A ver entonces, lo haré con la primera solución y me leeré el tutorial de Ajax (pero solo por curiosidad)
  #5 (permalink)  
Antiguo 18/03/2008, 18:46
Avatar de pabo_  
Fecha de Ingreso: febrero-2008
Mensajes: 8
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Formulario dinamico

Yo hice un formulario donde me crea la cantidad de campos que yo quiera:
Para ello es necesario un php con el formulario, una funcion javascript para cambiar el action del formulario, lo que me permitira regresar al formulario con una variable que indique la cantidad de inputs nuevos.

Primero se crea el form en form.php

Código PHP:
<form action="resultado.html" method="post" >
    N&uacute;mero de variables: <br />
    <select name="cantidad_variables" onchange="javascript:ira()">
      <option></option>
      <?php for($h=1$h<=20; ++$h){ ?>
      <option value="<?php echo $h?><?php if(isset($_POST["numvar"]) && $_POST["numvar"]==$h){ ?> selected="selected" <?php ?>><?php echo $h?></option>
      <?php ?>
    </select>

   
    <?php if(isset($_POST["cantidad_variables"]) && $_POST["cantidad_variables"]>0){
    for(
$j=1$j<=$_POST["numvar"]; ++$j){ ?>
    Variable n&uacute;mero <?php echo $j?>: <br />
    <input type="text" name="variable<?php echo $j?>"  />
    <?php } } ?>
<input type="submit" name="go" value="" class="go"/>
  </form>

  <script type="text/javascript" src="codigo.js"></script>

Tambien hay que crear la función javascript entonces se crea el archivo codigo.js con el siguiente contenido:

Código:
function ira(){
	document.forms[0].action = "form.php";
	document.forms[0].submit();
}
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 15:48.