Foros del Web » Programando para Internet » PHP »

suma online

Estas en el tema de suma online en el foro de PHP en Foros del Web. buenas compañeros tengo un pequeño problemita que no se como solucionarlo el cual es: tengo 5 campos input de la siguiente forma <input name="pri_not_pperiodo" type="text"> ...
  #1 (permalink)  
Antiguo 31/07/2013, 13:28
 
Fecha de Ingreso: julio-2013
Mensajes: 16
Antigüedad: 10 años, 9 meses
Puntos: 0
suma online

buenas compañeros tengo un pequeño problemita que no se como solucionarlo el cual es:
tengo 5 campos input de la siguiente forma
<input name="pri_not_pperiodo" type="text">
<input name="seg_not_pperiodo" type="text" >
<input name="ter_not_pperiodo" type="text">
<input name="cua_not_pperiodo" type="text">
<input name="primer_periodo" type="text" >
lo que quiero es que cuando yo ingrese la en el campo llamado pri_not_pperiodo quiero que me aparezca el resultado en el ultimo campo llamado primer_periodo y asi sucesivamente se me sumen los cuatro datos y se me dividan entre 4 y el resultado me aparezca en el ultima campo input agradezco quier me pueda colaborar con este problema
  #2 (permalink)  
Antiguo 31/07/2013, 13:40
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: suma online

Hola, es un asunto de JavaScript, debes usar una funcion y colocarla en cada input, la colocas así:
<input name="primer_periodo" Id="primer_periodo" type="text" onchange="calcular();">

te sugiero q agregues Id a cada input.

En javascript:
function calcular(){
//TOMAS LOS VALORES INGRESADOS
var x=document.getElementById("primer_periodo");
var y=document.getElementById("yyyyyyy");
var z=document.getElementById("zzzzzz");

//HACES TUS CALCULOS
RESULT=x+y;

//IMPRIMES TUS RESULTADOS
document.getElementById("zzzzzz").innerHTML=RESULT ;

}

espero te sea de ayuda
  #3 (permalink)  
Antiguo 31/07/2013, 14:20
 
Fecha de Ingreso: julio-2013
Mensajes: 16
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: suma online

lo que pasa esque dentro de esos input tengo un ciclo for donde al nombre del campo le va a adicionar un numero con el id me puede servir para poder hacer esa operacion con javascrip
  #4 (permalink)  
Antiguo 31/07/2013, 14:23
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: suma online

no entiendo lo que quieres decir, postea tu codigo para ver
  #5 (permalink)  
Antiguo 31/07/2013, 14:39
 
Fecha de Ingreso: julio-2013
Mensajes: 16
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: suma online

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<script>
function fncImc(){
caja=document.forms["notas"].elements;

var pri_not_pperiodo = Number(caja["p1"].value);
var seg_not_pperiodo = Number(caja["p2"].value);
var ter_not_pperiodo = Number(caja["p3"].value);
var cua_not_pperiodo = Number(caja["p4"].value);
primer_periodo=(pri_not_pperiodo + seg_not_pperiodo + ter_not_pperiodo + cua_not_pperiodo)/4;
if(!isNaN(primer_periodo)){
caja["p5"].value=Math.round(((pri_not_pperiodo + seg_not_pperiodo + ter_not_pperiodo + cua_not_pperiodo)/4)*10)/10;
}
}
</script>



<body>
<?php for ($i = 0; $i<=3; $i++) {?>
<form action="atencion1.php" method="post" name="notas" >
<input name="pri_not_pperiodo<?php echo $i;?>" id="p1" type="text" size="5" maxlength="8" onKeyDown="fncImc()" >
<input name="seg_not_pperiodo<?php echo $i;?>" id="p2" type="text" size="5" maxlength="8" onKeyDown="fncImc()">
<input name="ter_not_pperiodo<?php echo $i;?>" id="p3" type="text" size="5" maxlength="8" onKeyDown="fncImc()">
<input name="cua_not_pperiodo<?php echo $i;?>" id="p4" type="text" size="5" maxlength="8" onKeyDown="fncImc()">
<input name="primer_periodo" id="p5" type="text" size="5" maxlength="8">
</form>
<?php }?>

</body>
</html>

ese for que esta hay es por que en el verdadero codigo que tengo hay uno lo que pasa es que es muy extenso pero ese funciona pero loq eu quiero hacer es que el primier campo me funciona pero apartir del segundo no me hace nada como lo haga
  #6 (permalink)  
Antiguo 31/07/2013, 15:04
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: suma online

Veo varios problemas.

Tienes varios FORM creados con php, debes darle un nombre distinto a cada uno, ya que en js manejas los datos por cada FORM.
Debes procesar cada form de foma independiente, puedes pasar el nombre de cada Form a js.

<form action="atencion1.php" method="post" name="notas<?php echo $i;?>" >

CADA INPUT DEBE ENVIAR EL FORM AL Q PERTENECE
onKeyDown="fncImc("notas<?php echo $i;?>")"

EN JS TOMAS LOS ELEMENTOS DE CADA FORM

fncImc(NOMBRE_FORM){
caja=document.forms[NOMBRE_FORM].elements;
}

ESPERO TE SEA DE AYUDA

Etiquetas: javascript, javascript+php, js, suma
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 03:52.