Primero que nada, aclaro que soy bastante novato en JS. Le se mas al PHP a pesar que lo aprendi 100% autodidacta. El JS lo estoy aprendiendo del mismo modo y lentamente.
Por lo mismo mi duda podria parecer muy basica.
Tengo un formulario con varios campos entre los cuales debo hacer operaciones.
El formulario esta dividio en 14 "partidas" aqui pongo las primeras 6, el resto son muy repetitivas
Código PHP:
<form name="Form1" method="post" action="siguientepagina.html" id="Form1">
<?php /* PARTIDA 1 ----------------------------------------------------------*/ ?>
<input type="number" id="Editbox6" name="c1" value="" tabindex="110" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox8" name="p1" value="" tabindex="140" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox9" name="i1" value="" readonly="readonly">
<?php /* PARTIDA 2 ----------------------------------------------------------*/ ?>
<input type="number" id="Editbox10" name="c2" value="" tabindex="210" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox13" name="p2" value="" tabindex="240" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox14" name="i2" value="" readonly="readonly">
<?php /* PARTIDA 3 ----------------------------------------------------------*/ ?>
<input type="number" id="Editbox15" name="c3" value="" tabindex="310" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox17" name="p3" value="" tabindex="340" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox18" name="i3" value="" readonly="readonly">
<?php /* PARTIDA 4 ----------------------------------------------------------*/ ?>
<input type="number" id="Editbox19" name="c4" value="" tabindex="410" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox21" name="p4" value="" tabindex="440" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox22" name="i4" value="" readonly="readonly">
<?php /* PARTIDA 5 ----------------------------------------------------------*/ ?>
<input type="number" id="Editbox23" name="c5" value="" tabindex="510" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox25" name="p5" value="" tabindex="540" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox26" name="i5" value="" readonly="readonly">
<?php /* PARTIDA 6 ----------------------------------------------------------*/ ?>
<input type="number" id="Editbox27" name="c6" value="" tabindex="610" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox29" name="p6" value="" tabindex="640" onFocus="Mate1();" onBlur="NoMate1();">
<input type="text" id="Editbox30" name="i6" value="" readonly="readonly">
</form>
i1 = c1 * p1
y asi sucesivamente para todas las partidas, para ellos estoy llamadno a las funciones de JS Mate1() y NoMate1() las cuales pongo a continuacion
Código HTML:
<script type="text/javascript">
// CALCULOS con los campos de texto en javascript
//Calculos Partida 1
function Mate1(){
interval = setInterval("calcular1()",1);
}
function calcular1(){
// partida 1
cant1 = document.Form1.c1.value;
prec1 = document.Form1.p1.value;
if (cant1 == "" || prec1 == "" || cant1 == null || prec1 == null)
{valor1 = null;}
else
{valor1 = (cant1 * 1) * (prec1 * 1);}
document.Form1.i1.value = valor1;
//partida 2
cant2 = document.Form1.c2.value;
prec2 = document.Form1.p2.value;
if (cant2 == "" || prec2 == "" || cant2 == null || prec2 == null)
{valor2 = null;}
else
{valor2 = (cant2 * 1) * (prec2 * 1);}
document.Form1.i2.value = valor2;
//partida 3
cant3 = document.Form1.c3.value;
prec3 = document.Form1.p3.value;
if (cant3 == "" || prec3 == "" || cant3 == null || prec3 == null)
{valor3 = null;}
else
{valor3 = (cant3 * 1) * (prec3 * 1);}
document.Form1.i3.value = valor3;
//partida 4
cant4 = document.Form1.c4.value;
prec4 = document.Form1.p4.value;
if (cant4 == "" || prec4 == "" || cant4 == null || prec4 == null)
{valor4 = null;}
else
{valor4 = (cant4 * 1) * (prec4 * 1);}
document.Form1.i4.value = valor4;
//partida 5
cant5 = document.Form1.c5.value;
prec5 = document.Form1.p5.value;
if (cant5 == "" || prec5 == "" || cant5 == null || prec5 == null)
{valor5 = null;}
else
{valor5 = (cant5 * 1) * (prec5 * 1);}
document.Form1.i5.value = valor5;
//partida 6
cant6 = document.Form1.c6.value;
prec6 = document.Form1.p6.value;
if (cant6 == "" || prec6 == "" || cant6 == null || prec6 == null)
{valor6 = null;}
else
{valor6 = (cant6 * 1) * (prec6 * 1);}
document.Form1.i6.value = valor6;
// ...ASI SUCESIVAMENTE PARA LAS 14 PARTIDAS
}
function NoMate1(){
clearInterval(interval);
}
el codigo me funciona PERFECTAMENTE, en las partidas 1, 3,4,5,6,7 y 8, pero por alguna razon que no comprendo (estoy muuuy ciclado) NO ME FUNCIONA para las partidas 2 y de las partidas 9 a la 14.
Ya reescribi el codigo en estas paritdas, primero en copy/paste y luego a mano todo.... y me sigue pasando lo mismo.
¿Alguno de ustedes sabrá cuál es el problema?
GRACIAS DE ANTEMANO. y BUEN KARMA para ustedes.