Foros del Web » Programando para Internet » Javascript »

Enviar y recoger inputs dinámicos con javascript

Estas en el tema de Enviar y recoger inputs dinámicos con javascript en el foro de Javascript en Foros del Web. ¡Hola! Hace poco que he empezado con esto de php y javascript y estoy creando una aplicación para una escuela donde tengo que crear un ...
  #1 (permalink)  
Antiguo 11/04/2007, 11:54
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 3 meses
Puntos: 0
Enviar y recoger inputs dinámicos con javascript

¡Hola!

Hace poco que he empezado con esto de php y javascript y estoy creando una aplicación para una escuela donde tengo que crear un profesor y ese profesor tiene un número indeterminado de titulaciones (a priori no sabemos cuántas son) y entonces se me ha ocurrido hacerlo de la siguiente manera: al principio sale un cuadro de texto para introducir la titulación y un botón de borrar por si se quiere borrar esa titulación, además de un botón crear para crear una nueva titulación, y a medida que el usuario necesita añadir otra titulación pulsaría en el botón crear y mostraría otro cuadro de texto. Esto ya lo tengo conseguido, el código lo muestro a continuación:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 

<html> 
<head>
<title>Crear input file</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
<!--
num=0;
function crear(obj) {
  num++;
  fi = document.getElementById('fiel'); 
 contenedor = document.createElement('div'); 
  contenedor.id = 'div'+num; 
  fi.appendChild(contenedor); 

  ele = document.createElement('input'); 
  ele.type = 'text'; 
  ele.name = 'text'+num; 
  contenedor.appendChild(ele); 
  
  ele = document.createElement('input'); 
  ele.type = 'button'; 
  ele.value = 'Borrar'; 
  ele.name = 'div'+num; 
  ele.onclick = function () {borrar(this.name)} 
  contenedor.appendChild(ele); 
}
function borrar(obj) {
  fi = document.getElementById('fiel'); 
  fi.removeChild(document.getElementById(obj)); 
}
</script>
</head>
<body>
<form name="form1" method="POST" action="guardarFormulario.php">

<fieldset id="fiel">
<input type="button" value="Crear" onclick="crear(this)">
<input name="botonGuardar" type="submit" value="Guardar" onclick="enviar(this)">
</fieldset>
</form> 
</body>
</html>
Esto está adaptado de un script que aparece en un enlace, pero como no tengo 30 días de antiguedad no puedo ponerlo.

Y para recoger los datos del formulario uso:

Código:
<?php require_once('Connections/miConexion.php'); ?>
<html>
<head>
<title>Guardar datos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?
if (($_POST["div0"]) || ($_POST["text0"])){
echo 'han llegado los datos '.$_POST["div0"];
echo '<br>';
echo 'han llegado los datos '.$REQUEST["div0"];
echo '<br>';
echo 'han llegado los datos '.$_POST["text0"];
echo '<br>';
echo 'han llegado los datos '.$REQUEST["text0"];
echo '<br>';
} else{
echo 'no han llegado datos';
}
?>
</body>
</html>
Pero no me recoge ningún valor y es que mi problema es que creo que no envío bien los valores de los cuadros de texto y tampoco sé como recogerlos. Así que si me podéis echar una mano...os lo agradecería.

Muchas gracias
  #2 (permalink)  
Antiguo 11/04/2007, 12:06
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Re: Enviar y recoger inputs dinámicos con javascript

Hola marcospuig. Bienvenido al foro.

Este código me suena

Creo que el problema es que estás leyendo $_POST["text0"] pero el primer cuadro de texto que se crea es text1

Código:
num=0;
function crear(obj) {
  num++; 
Espero que te sirva. Saludos,
  #3 (permalink)  
Antiguo 11/04/2007, 12:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Enviar y recoger inputs dinámicos con javascript

Hola:

También he visto unas cosillas que no me cuelan...

onclick="enviar(this)" ...

enviar no lo veo definido.

y en crear(this)... parece que ese this no lo usas... y sería un buen objeto para hacer las inserciones (aunque no creo que eso sea el problema)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 11/04/2007, 12:18
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Enviar y recoger inputs dinámicos con javascript

Muchas gracias Javier, ok, anda q vaya error más infantil.... parece que estuviera empezando a programar...
  #5 (permalink)  
Antiguo 11/04/2007, 12:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Enviar y recoger inputs dinámicos con javascript

Perdona, se me había olvidado:

Código:
function enviar(){
  document.form1.submit();
}
Este es el enviar, pero ahora el problema que tengo es que me llegan los datos, pero ¿cómo sé cuantos datos me llegan? ¿cómo puedo recoger el valor de la variable num?
  #6 (permalink)  
Antiguo 11/04/2007, 12:41
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Enviar y recoger inputs dinámicos con javascript

Hola:

O pones un campo que tenga ese valor, o desde php haces un bucle asociativo:

for ($_POST as $dato => $item)... aunque esa sería una cuestión php

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 11/04/2007, 13:21
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Enviar y recoger inputs dinámicos con javascript

¡Hola!

Eso ya lo he probado, recoger la variable con el POSt, $_POST["num"] pero no sale nada, y creo que es porque num es una variable declarada y usada en javascript y no puedo acceder a ella desde php. ¿Alguien sabe cómo recoger la variable javascript? Gracias Caricatos, pero no sé usar tu sentencia
for ($_POST as $dato => $item)
me da error.

Gracias

Última edición por marcospuig; 12/04/2007 a las 08:51
  #8 (permalink)  
Antiguo 14/04/2007, 22:36
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 18 años, 10 meses
Puntos: 1
Re: Enviar y recoger inputs dinámicos con javascript

para recorrer arrays asociativos en php mira esta funcion foreach

para hacerlo en javascript, podes seguir este ejemplo, aca recorro todas propiedades del objeto "document" y las muestro:

Código PHP:
var indice;
for(
indice in document)
   
document.write(indice+"<br>"); 

espero te sirva de algo esta info, saludos
__________________
Dios es la unica fuente de todo bien.
  #9 (permalink)  
Antiguo 14/04/2007, 23:31
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Enviar y recoger inputs dinámicos con javascript

Hola:

"Donde dije digo digo diego" ¡Je, je!, Viendo el último mensaje me di cuenta de que en vez de for debes poner foreach...

Estoy haciendo un tutorial y lo tengo a medias, pero está el código de un receptor universal junto a un ejemplo: El abc de las formularios

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 14/04/2007 a las 23:50 Razón: La url era otra...
  #10 (permalink)  
Antiguo 23/07/2007, 15:52
Avatar de rekkiem  
Fecha de Ingreso: diciembre-2006
Mensajes: 30
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Enviar y recoger inputs dinámicos con javascript

con respecto a este mismo tema es posible mostrar en un alert el valor de un campo dinamico en particular antes de enviarlo con un 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 16:28.