Javascript:在innerhtml

时间:2016-07-12 17:09:41

标签: javascript html

我试图从只读输入中获取值(该值也通过javascript生成),添加到另一个只读输入然后打印它。 这是html代码:

<input type="number" class="form-control" id="importounitario1" name="importounitario1" style="width:80px;" onchange="CalcolaImportoParziale1()">

javascript将取值的只读输入。

<input type="number" class="form-control" id="importoparziale1" name="importoparziale1" style="width:80px;" readonly="true" placeholder="" value="">

这里是Javascript代码

function CalcolaImportoParziale1() {
    if (document.getElementById("da1").value && document.getElementById("a1").value && document.getElementById("importounitario1").value) {
        var numeroiniziale  = document.getElementById("da1").value;
        var numerofinale    = document.getElementById("a1").value;
        var importounitario = document.getElementById("importounitario1").value;
        var quantita        = (numerofinale-numeroiniziale) + 1;
        var importoparziale = importounitario * quantita;

        document.getElementById("importoparziale1").value       = importoparziale;
        document.getElementById("importoparziale1").placeholder = importoparziale;

        if (document.getElementById("importoparziale1").value && document.getElementById("importoparziale2").value && document.getElementById("importoparziale3").value && document.getElementById("importoparziale4").value && document.getElementById("importoparziale5").value) {
            var importototale = document.getElementById("importoparziale1").value + document.getElementById("importoparziale2").value + document.getElementById("importoparziale3").value + document.getElementById("importoparziale4").value + document.getElementById("importoparziale5").value;
            document.getElementById("importototalelordo").value         = importototale;
            document.getElementById("importototalelordo").placeholder   = importototale;
        }
        else if (document.getElementById("importoparziale1").value && document.getElementById("importoparziale2").value && document.getElementById("importoparziale3").value && document.getElementById("importoparziale4").value) {
            var importototale = document.getElementById("importoparziale1").value + document.getElementById("importoparziale2").value + document.getElementById("importoparziale3").value + document.getElementById("importoparziale4").value;
            document.getElementById("importototalelordo").value         = importototale;
            document.getElementById("importototalelordo").placeholder   = importototale;
        }
        else if (document.getElementById("importoparziale1").value && document.getElementById("importoparziale2").value && document.getElementById("importoparziale3").value) {
            var importototale = document.getElementById("importoparziale1").value + document.getElementById("importoparziale2").value + document.getElementById("importoparziale3").value;
            document.getElementById("importototalelordo").value         = importototale;
            document.getElementById("importototalelordo").placeholder   = importototale;
        }
        else if (document.getElementById("importoparziale1").value && document.getElementById("importoparziale2").value) {
            var importototale = document.getElementById("importoparziale1").value + document.getElementById("importoparziale2").value;
            document.getElementById("importototalelordo").value         = importototale;
            document.getElementById("importototalelordo").placeholder   = importototale;
        }
        else if (document.getElementById("importoparziale1").value) {
            document.getElementById("importototalelordo").value         = document.getElementById("importoparziale1").value;
            document.getElementById("importototalelordo").placeholder   = document.getElementById("importoparziale1").value;
        }

        var quantitaparziale1   = document.getElementById("a1").value - document.getElementById("da1").value;
        var quantitaparziale2   = document.getElementById("a2").value - document.getElementById("da2").value;
        var quantitaparziale3   = document.getElementById("a3").value - document.getElementById("da3").value;
        var quantitaparziale4   = document.getElementById("a4").value - document.getElementById("da4").value;
        var quantitaparziale5   = document.getElementById("a5").value - document.getElementById("da5").value;
        var quantitatotale      = quantitaparziale1 + quantitaparziale2 + quantitaparziale3 + quantitaparziale4 + quantitaparziale5;
        document.getElementById("quantitatotale").value         = quantitatotale;
        document.getElementById("quantitatotale").placeholder   = quantitatotale;
    }
}

由于有5个输入字段,因此有5个函数名为&#39; CalcolaImportoParziale2&#39;。现在代码打印在ImportoTotale上字面上是一个数字+数字,而不是像字符串那样处理数字。

2 个答案:

答案 0 :(得分:0)

不能完全理解你的问题所以我只是按照字面意思来理解

  

我试图从只读输入中获取值(该值也通过javascript生成),添加到另一个只读输入然后打印它。

&#13;
&#13;
document.getElementById('secondValue').value = document.getElementById('firstValue').value;
document.getElementById("answer").innerHTML =document.getElementById('secondValue').value;
&#13;
<input id="firstValue" type="text" value="apple" readonly/>
<input id="secondValue" type="text" value="" readonly/>
<div id="answer"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

  

在使用它们进行数学运算之前将输入值转换为数字。

感谢Teemo的答案,我把它整理出来:因为问题是Javascript把值作为一个字符串,我使用Number()函数解决了,使用它像这样:

Number(var importototale = document.getElementById("importoparziale1").value)

谢谢大家,并为我可怕的代码感到抱歉。