Как избегать показывать данные в реальном времени с языком сценариев JavaScript

У меня есть формуляр вычисления с языком сценариев JavaScript, что он перемещает, что я видел руководитель на вычислениях с языком сценариев JavaScript, но все делается в реальном времени, а именно, как он появляется в изображении:

introducir la descripción de la imagen aquí

Эти данные являются без того, чтобы я нажимал на кнопку "Calcula", что я хочу, состоит в том, чтобы эти данные не явились до тех пор, пока я не нажму на кнопку считения.

Код html сайта - этот (также доступный в Ghostbin):

//Link del javascript: https://ghostbin.com/paste/urg7z





    
        
        Remesas ENVIA - Calculo en dolares
        
        
    



 
     

 

        Si envias a Mexico

        $ dolares

        tu familia recibe

        $ pesos,

        tu envio cuesta

        $ dolares

        tu pago total es de

        $ dolares


И мой язык сценариев JavaScript - этот (также в Ghostbin):

//funcion que se ejecuta cada vez que se añade una letra en un cuadro de texto
//suma los valores de los cuadros de texto

function sumar()
{
        var dolar = 18;
        var porcentaje = 100;
        var valor1=verificar("valor1");
        var valor2=verificar("valor2");
        var valor3=verificar("valor3");
        var valor4=verificar("valor4");
        var valor5=verificar("valor5");

        // realizamos la suma de los valores y los ponemos en la casilla del
        // formulario que contiene el total

        document.getElementById("valor2").value=
        parseFloat(valor1);

    document.getElementById("valor3").value=
        parseFloat(valor1)*
        parseFloat(dolar);

        document.getElementById("valor4").value=
        parseFloat(valor2)/porcentaje*10;

    document.getElementById("valor5").value=
        parseFloat(valor1)+
        parseFloat(valor4)*10;
}

//funcion para verificar los valores de los cuadros de texto. si no es un valor
//numerico, cambia de color el borde del cuadro de texto

function verificar(id)
{
        var obj=document.getElementById(id);
        if(obj.value=="")
                value="0";
        else
                value=obj.value;
        if(validate_importe(value,1))
        {
                // marcamos como erroneo
                obj.style.borderColor="#808080";
                return value;
        }else{
                // marcamos como erroneo
                obj.style.borderColor="#f00";
                return 0;
        }
}

//Funcion para validar el importe
//Tiene que recibir: El valor del importe
//Determinar si permite o no decimales
//Devuelve: true - Correcto , False - Incorrecto

function validate_importe(value,decimal)
{
        if(decimal==undefined)
                decimal=0;

        if(decimal==1)
        {
                // Permite decimales tanto por . como por ,
                var patron=new RegExp("^[0-9]+((,|\.)[0-9]{1,2})?$");
        }else{
                // Numero entero normal
                var patron=new RegExp("^([0-9])*$")
        }

        if(value && value.search(patron)==0)
        {
                return true;
        }
        return false;
}

5
задан 14.03.2016, 07:27
1 ответ

В области текста, где ты пишешь количество, есть драйвер для события onkeyup, что является тем, который реализует автоматическое вычисление:

<input type="number" id="valor1" onkeyup="sumar();" size="23" style="font-family: Arial; font-size: 85pt; height: 160px; width: 410px;" required class="auto-style11">

Это способствует тому, чтобы, когда будет нажата клавиша, он назвался в функцию sumar(). Если ты снимешь эту ссылку, уже не станут отвечающими совремнным требованиям поля автоматически, только, когда ты нажмешь на кнопку считения:

<input type="number" id="valor1" size="23" style="font-family: Arial; font-size: 85pt; height: 160px; width: 410px;" required class="auto-style11">
5
ответ дан 24.11.2019, 14:44
  • 1
    Большое спасибо друг это было тем, что он искал:) мне служил большим количеством помощи твой ответ. – Eduardo Javier Maldonado 14.03.2016, 09:02
  • 2
    Привет @EduardoJavierMaldonado. Пожалуйста благосклонно принятые этот ответ , помогать этому и # 237; во многий в сообщество. Я оставляю тебе ссылку, если у тебя есть сомнения c и # 243; mo делать это. –  14.03.2016, 16:53