Foros del Web » Programando para Internet » Javascript »

Generar inputs formulario dinámicamente y calcular

Estas en el tema de Generar inputs formulario dinámicamente y calcular en el foro de Javascript en Foros del Web. Hola, Tengo la duda de generar inputs de un formulario dinámicamente, osea que a traves de un boton agregar se generen 3 inputs de un ...
  #1 (permalink)  
Antiguo 24/10/2006, 16:54
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Generar inputs formulario dinámicamente y calcular

Hola,

Tengo la duda de generar inputs de un formulario dinámicamente, osea que a traves de un boton agregar se generen 3 inputs de un formulario, 2 para ingresar numero y el tercero muestra el resultado de suma de los otros dos.

Es decir, por cada linea de inputs generado realize un calculo de suma.

¿es posible?

Muchas Gracias y salu2
  #2 (permalink)  
Antiguo 25/10/2006, 00:38
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola zsamer

Echa un vistazo a este enlace para crear elementos dinamicamente

Para sumar dos input:

suma = parseInt(document.forms[0]['nombre1'].value) + parseInt(document.forms[0]['nombre2'].value)

Saludos,
  #3 (permalink)  
Antiguo 25/10/2006, 06:49
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Cita:
Iniciado por JavierB Ver Mensaje
Hola zsamer

Echa un vistazo a este enlace para crear elementos dinamicamente

Para sumar dos input:

suma = parseInt(document.forms[0]['nombre1'].value) + parseInt(document.forms[0]['nombre2'].value)

Saludos,
Gracias, funcionó perfecto en Mozilla Firefox, la creación de inputs y el calculo, pero en Internet explorer genera bien los inputs pero falla al hacer la suma, no suma los valores.

este es el código:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
>

<
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 
Suma(valorAvalorBvalorC)
{
    var 
Valor1 parseInt(document.getElementById(valorA).value);
    var 
Valor2 parseInt(document.getElementById(valorB).value);
    
    
document.getElementById(valorC).value parseInt(Valor1+Valor2);
}

function 
crear(obj) {
  
num++;
  
fi document.getElementById('fiel'); // 1
  
contenedor document.createElement('div'); // 2
  
contenedor.id 'div'+num// 3
  
fi.appendChild(contenedor); // 4

  
ele document.createElement('input'); // 5
  
ele.type 'text'// 6
  
ele.name 'valor1'+num// 6
  
ele.id 'valor1'+num// 6
  
ele.setAttribute("onKeyUp","Suma('valor1"+num+"', 'valor2"+num+"', 'total"+num+"')");
  
contenedor.appendChild(ele); // 7
  
  
ele document.createElement('input'); // 5
  
ele.type 'text'// 6
  
ele.name 'valor2'+num// 6
  
ele.id 'valor2'+num// 6
  
ele.setAttribute("onKeyUp","Suma('valor1"+num+"', 'valor2"+num+"', 'total"+num+"')");
  
contenedor.appendChild(ele); // 7

  
ele document.createElement('input'); // 5
  
ele.type 'text'// 6
  
ele.name 'total'+num// 6
  
ele.id 'total'+num// 6
  
contenedor.appendChild(ele); // 7
   
  
ele document.createElement('input'); // 5
  
ele.type 'button'// 6
  
ele.value 'Borrar'// 8
  
ele.name 'div'+num// 8
  
ele.onclick = function () {borrar(this.name)} // 9
  
contenedor.appendChild(ele); // 7
}
function 
borrar(obj) {
  
fi document.getElementById('fiel'); // 1 
  
fi.removeChild(document.getElementById(obj)); // 10
}
--> 
</script>
</head>
<body>
<form method="post" action="algo.php">
<fieldset id="fiel">
<input type="button" value="Crear" onclick="crear(this)" />
</fieldset>
</form> 
</body>
</html> 
También probé la funcion sumar de la siguiente forma y tampoco funciona en IE y si en mozilla.

Código PHP:
function Suma(valorAvalorBvalorC)
{
    var 
Valor1 parseInt(document.forms[0][valorA].value);
    var 
Valor2 parseInt(document.forms[0][valorB].value);
    
    
document.forms[0][valorC].value parseInt(Valor1+Valor2);

Alguna sugerencia para que funcione bien en IE.

MUCHAS GRACIAS Y SALUDOS

Última edición por zsamer; 25/10/2006 a las 06:55
  #4 (permalink)  
Antiguo 25/10/2006, 08:34
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 3 meses
Puntos: 772
Hola de nuevo.

Cambia esta línea:
Código:
ele.onkeyup = function() {Suma('valor1'+num, 'valor2'+num, 'total'+num) }
Lo mismo con el otro elemento que creas dinamicamente.

Saludos,
  #5 (permalink)  
Antiguo 25/10/2006, 08:56
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
porfin, te pasaste, funcionó perfecto.

muchisimas gracias

Saludos
  #6 (permalink)  
Antiguo 25/10/2006, 09:43
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
ahora estoy con vectores, y me arroja el error exlamación de IE.

Código PHP:
ele.onkeyup = function() {Suma('valor1['+num+']''valor2['+num+']''total['+num+']') } 

alguna ideas? debe ser de sintaxis?
  #7 (permalink)  
Antiguo 25/10/2006, 18:58
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Cita:
Iniciado por zsamer Ver Mensaje
ahora estoy con vectores, y me arroja el error exlamación de IE.

Código PHP:
ele.onkeyup = function() {Suma('valor1['+num+']''valor2['+num+']''total['+num+']') } 

alguna ideas? debe ser de sintaxis?
Solucionado, Gracias.


Salu2
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 12:18.