No captura!

Buenos días
Tengo el siguiente problema: necesito capturar en un array los datos que se digiten en un formulario y los muestre en una nueva ventana, el problema es que en el script que tengo no captura nada del formulario (sin importar que se digite un valor numerio o una cadena de carcteres) en cambio si guardo en el array un valor cualquiera funciona perfectamente. He intentado capturar de muchas formas y con ninguna funciona ... De antemano le agradezco su colaboración.
Esto es lo que tengo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>no captura!</title>
</head>
<script>
                function ventanita()
                     {
                ventana=window.open('','','width=300,height=600');    
                    }
                    var a=new Array(5);
                    var i;            
function facturar()//con esta funcion intento capturar en el array "a" lo que traiga el                                      // formulario
                     {
                        for(i=0;i<4;i++)
                            {                
                            a=textform.factura.value; // no captura nada
                            //a=document.getElementById("text").value; //tampoco funciona
                            //a=5+i; //aqui si funciona
                            }
                     }
       function mostrar() //con esta funcion muestro en "ventana" lo que traiga el array "a"
                     {
                    this.ventanita=ventanita();
                    this.facturar=facturar();    
                            for(i=0;i<4;i++)
                                {
                ventana.document.write("<br>dato "+i+"<br>"+a+"<br>");
                                }
                    }
</script>
<body>
<form name="textform" method="get">
digite nombre del producto<br>
<input type="text" name="factura" id="text"/><br><br>
<input type="submit"  name="grabar" value="grabar" onclick="facturar()" />
<input type="submit"  name="calcular" value="otra" onclick="mostrar()" />
</form>
</body>
</html>
Respuesta
1
{
                        for(i=0;i<4;i++)
                            {                
                            //a=document.getElementById("text").value;
                            }
                     }
Ahora hay lo que va a pasar es que le vas aponer a cada index del array el mismo valor. Ya que siempre haces referencia al objeto text.
Buenas tardes
muchas gracias por responder.  Revisando el codigo  que adjunte encontre que al trascribirlo cometi dos errores en las funciones mostrar y facturar en realidad el codigo que tengo es este y sinceramente no entiendo por que no guarda nada
function facturar()
      {
      for(i=0;i<4;i++)
       {    
       //a=textform.factura.value;
       a=document.getElementById("text").value;
             }
      }
     function mostrar()
      {
     this.ventanita=ventanita();
     this.facturar=facturar();
            for(i=0;i<4;i++)
        {
    ventana.document.write("<br>dato "+i+"<br>"+a+"<br>");
        }
     }
Entiendo lo que me quiere decir, fue un error de mi parte poner mal el código pero una vez corregido espero que me pueda ayudar... disculpe la molestia pero no se si es algún error de sintaxis o que. Gracias
Indícale el indice a "a"
a=document.getElementById("text").value;
¿Qué pena con ud, lo que me quiere decir es esto cierto?
a=document.getElementById("text").value;
ventana.document.write("<br>dato "+i+"<br>"+a+"<br>");
Ese era el error del que hablaba lo que pasa es que copie del que estaba mal... igual así lo pongo y nada de todos modos muchas gracias por su colaboración.
Aaa ya veo lo que pasa es que no me esta colocando en la repsesta el código completo..
Pero a ver cuando capturas los datos debes indicarle a objeto a el indice.. es decir
a parentisis cuadrados y dentro i.. que es la variable del ciclo..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas