添加两个javascript函数(取决于输入)

时间:2016-08-29 19:24:03

标签: html css

我已根据用户输入计算出计算价格的计算器。它可以在一个输入下正常工作,但现在我必须使用第二个用户输入来缩放它。但是这里有一个问题:用户可能不想在场上放任何东西,所以它将是空的。这就是制动我的代码的事情。我可以复制计算器函数并返回值并在第三个函数中将这两个值加在一起,但是当它为空值时它将不起作用。

仅仅是为了它,一些简单的HTML代码:

//When I only calculate with this user input, its easy
<input type="text" id="rocktext"><br>
// But how to consider this and do the same exact calculations like with the
//first one and add those two result together?
<input type="text" id="rocktext2"><br>

最后的代码应如下所示:

  1. 取第一个用户输入,计算价格(如下面的代码所示)

  2. IF(!!)有第二个用户输入,计算价格并将其添加到 第一个

  3. 我是个白痴,可以尝试使用JS还是只是个白痴?

    希望听到你的意见,伙计们!

    学家

    最初的JS代码如下:

    function priceCalc() {
        var inputs = document.getElementById("rocktext").value;
        var length = inputs.length;        
        var accept = 6;
        var initPrice = 8;
    
        if (inputs<=accept){
    
    
                    // Since the code is much simpler right now i just put the result in HTML as follows:
                    document.getElementById("rockpricetotal").innerHTML = initPrice + " dollars";
    
                    //I can also return  the the value calculated here like so:
                    //retVal = initPrice;
                }
    
    
                else {
    
                    var intLength = parseInt(length, 10);
                    var lengthGap = intLength - accept;
                    var totals = lengthGap * 0.8 + initPrice;
                    var prec = totals.toPrecision(3);
    
                    // Since the code is much simpler right now i just put the result in HTML as follows:
                    document.getElementById("rockpricetotal").innerHTML = prec + " dollars";
    
                    // Here also the return clause can be possible with the calculation result like so:
                    //retVal = prec;
                }
    
            // And the final return as an alternative to the innerHTML :
            // return retVal;
    

    }

1 个答案:

答案 0 :(得分:0)

使其可扩展,您可以为函数中的所有输入添加一个类(类似calcInput),因此您迭代所有这些输入,如果值不是空的(并且如果它是一个有效的数字),你把它放在计算中。

或者你可以验证第二个输入是否为空,如果是,则调用functionOne,如果没有,则调用functionTwo:

function twoDifferentWays() {
  var valueOne = document.querySelector("#rocktext").value;
  var valueTwo = document.querySelector("#rocktext2").value;

  if (!!valueTwo && !isNaN(valueTwo)) {
    callsFunctionOne(valueOne, valueTwo);
  } else {
    callsFunctionTwo(valueOne, valueTwo);
  }
}