Problema con script de restas o sumas al agregar 8 o mas cifras
Publicado por Eduardo (186 intervenciones) el 04/02/2020 20:16:13
Este Script que me ayudaron en este foro a realizar tengo un problema el cual si pongo un numero en le primer campo de 8 crifras o mas, en el del resultado muestra un resultado extraño, desaparecen números a medida que agrego 8 cifras o mas en los campos a operar o elimino en los otros campos cifras... que pasará..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<html>
<head>
</head>
<body>
<script>
//---- SCRIPT SUMA Y RESTA EN CAMPOS--------
function fncSumar(){
caja=document.forms["sumar"].elements;
var numero1 = Number(caja["numero1"].value.replace(".",""))
var numero2 = Number(caja["numero2"].value.replace(".",""))
var numero3 = Number(caja["numero3"].value.replace(".",""))
resultado=numero1-numero2-numero3;
if(!isNaN(resultado)){
caja["resultado"].value=numero1-numero2-numero3;
format(caja["resultado"])
}
}
</script>
<script>
//-----SCRIPT SEPARADOR DE MILES---------
function format(input)
{
var num = input.value.replace(/\./g,'');
if(!isNaN(num)){
num = num.toString().split('').reverse().join('').replace(/(?=\d*\.?)(\d{3})/g,'$1.');
num = num.split('').reverse().join('').replace(/^[\.]/,'');
input.value = num;
}
//-- ALERTA SOLO NUMEROS
else{ alert('Solo se permiten numeros');
input.value = input.value.replace(/[^\d\.]*/g,'');
}
}
</script>
<form method="post" name="sumar">
<p>+Primer Numero:
<input type="text" name="numero1" onKeyUp="fncSumar();format(this)" onChange="format(this)"/>
</p>
<p>+ Segundo Numero:
<input type="text" name="numero2" onKeyUp="fncSumar();format(this)" onChange="format(this)"/>
</p>
<p>- Tercer Numero:
<input type="text" name="numero3" onKeyUp="fncSumar();format(this)" onChange="format(this)"/>
</p>
<p>Resultado:
<input name="resultado" type="text" onChange="format(this)" onKeyUp="format(this)" readonly/>
</p>
</form>
</body>
</html>
Valora esta pregunta


0