Foros del Web » Programando para Internet » Javascript »

Sumar inputs dinamicos

Estas en el tema de Sumar inputs dinamicos en el foro de Javascript en Foros del Web. Hola a todos bueno pues tengo la siguiente cuestión, en un formulario php creo dinamicamente unos inputs con la información de mi bd Código PHP: ...
  #1 (permalink)  
Antiguo 18/08/2010, 09:49
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Sumar inputs dinamicos

Hola a todos bueno pues tengo la siguiente cuestión, en un formulario php creo dinamicamente unos inputs con la información de mi bd

Código PHP:
<?php
$ssql 
"select * from diario";
$do mysql_query($ssql,$conn);
$cont 0;
while(
$ir mysql_fetch_array($do)){
$cont++;
?>
<td><input type="button" name="diario_<?php echo $cont?>" value="<?php echo $ir['desc_diario'];?>"  onclick="suma(<?php echo $cont?>)"/></td>
<td><input type="text" name="cantidad_diario_<?php echo $cont?>" value=0 readonly="readonly" /></td>
<td><input type="button" name="borra_diario_<?php echo $cont?>" id="borra_diario_uno" value="Borrar" onclick="elimi_suma(<?php echo $cont?>)"/></td>
y en javascript tengo una funcion para mostrar la suma de los clicks de los botones en una caja de texto:

Código HTML:
function suma(i_cont){
          //forma correcta de obtener los inputs:
          var contador = document.forms['ordenes'].elements['cantidad_diario_'+i_cont];
          contador.value = parseInt(contador.value)+1;
      }
ahora mi pregunta es como puedo sumar todos esos inputs dinamicos y mostrarlos en esta caja de texto:

Código HTML:
<td>Ordenes Completas:</td>
<td><input type="text" name="cantidad_orden" id="cantidad_orden" value=0 eadonly="readonly" /></td> 

Última edición por zapt142; 18/08/2010 a las 10:31 Razón: Describrir Mejor
  #2 (permalink)  
Antiguo 18/08/2010, 11:16
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Sumar inputs dinamicos

He modificado la función de suma de los inputs dinamicos y el resultado es
el siguiente:

Código HTML:
var sumara = 0;
      function suma(i_cont){
          //forma correcta de obtener los inputs:
          var contador = document.forms['ordenes'].elements['cantidad_diario_'+i_cont];
          contador.value = parseInt(contador.value)+1;
		  sumara = sumara + parseFloat(contador.value);
		  document.ordenes.cantidad_orden.value = sumara;
      }
un click a cualquiera de los botones generados funciona bien, pero cuando hago más de un click hace lo siguiente 1+2 y no 1+1 en cuanto al número de clicks

alguien me podría indicar la razón??

gracias
  #3 (permalink)  
Antiguo 18/08/2010, 12:23
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Sumar inputs dinamicos

He logrado que me sume 1+1 los clicks que hago en el boton que elija aqui les dejo mi función

Código HTML:
var sumara = 0;
      function suma(i_cont){
          //forma correcta de obtener los inputs:
          var contador = document.forms['ordenes'].elements['cantidad_diario_'+i_cont];
          contador.value = parseInt(contador.value)+1;
		   sumara = parseFloat(sumara)+1;
			document.ordenes.cantidad_orden.value = sumara
      }
ahora mi problema es que en el value del input cantidad_diario aparezca la suma de las cajas de texto cuando se le de click a un botón asociado a una caja de texto específica dejando el valor de esa caja a cero, ya que por el momento me deja el input de cantidad_diario a cero.

Esta es mi función que deja a cero las cajas de texto dinamicas:

Código HTML:
 function elimi_suma(i_cont){
		  //forma correcta de obtener los inputs:
		  var contador = document.forms['ordenes'].elements['cantidad_diario_'+i_cont];
		  contador.value = 0;
	  }
gracias de antemano

Última edición por zapt142; 18/08/2010 a las 12:28
  #4 (permalink)  
Antiguo 18/08/2010, 13:19
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Sumar inputs dinamicos

Ya por fin he terminado

aqui esta la función:

Código HTML:
 function elimi_suma(i_cont){
		  //forma correcta de obtener los inputs:
		 var contador = document.forms['ordenes'].elements['cantidad_diario_'+i_cont]; 
		 valor = document.ordenes.cantidad_orden.value;
		 final = parseFloat(valor) - parseFloat(contador.value);
		 document.ordenes.cantidad_orden.value = final;
		 contador.value = 0
		 sumara = 0;
	  }
  #5 (permalink)  
Antiguo 18/08/2010, 13:57
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Sumar inputs dinamicos

Me ha surgido una nueva cuestión
como pueden leer son funciones de javascript para sumar y restar los clicks de botones y mostrar el resultado en cajas de texto pues bien, sucede
que 3 de esos botones son estáticos solo cambio con php el value del botón, y los demás son dinámicos

mi pregunta es: ¿cómo puedo llamar a los valores de las cajas de texto dinámicas en las funciones de suma de las cajas de texto estáticas?

Esta es la función que suma los inputs estáticos:
Código HTML:
var a= 0 ; 
var total = 0; 
function suma_completa_uno(){
	
	document.ordenes.cantidad_completa_uno.value = a++;
	uno = parseFloat(document.ordenes.cantidad_completa_uno.value);
	dos = parseFloat(document.ordenes.cantidad_completa_dos.value);
   tres = parseFloat(document.ordenes.cantidad_completa_tres.value); 
   total = uno + dos + tres ;
   document.ordenes.cantidad_orden.value = total;
}
Y esta es la función que suma los inputs dinámicos:
Código HTML:
var sumara = 0; 
var total = 0;
      function suma(i_cont){
          //forma correcta de obtener los inputs:
          var contador = document.forms['ordenes'].elements['cantidad_diario_'+i_cont];
          contador.value = parseInt(contador.value)+1;
		   sumara = parseFloat(sumara)+1;
		  uno = parseFloat(document.ordenes.cantidad_completa_uno.value);
	       dos = parseFloat(document.ordenes.cantidad_completa_dos.value);
           tres = parseFloat(document.ordenes.cantidad_completa_tres.value); 
           total = uno + dos + tres + sumara;
			document.ordenes.cantidad_orden.value = total;
      }
He de mensionar que dichas funciones se encuentran en archivos distintos que solo incluyo en mi pagina php donde necesito que se ejecuten

Etiquetas: dinamicos, inputs
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 02:50.