我试图从只读输入中获取值(该值也通过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上字面上是一个数字+数字,而不是像字符串那样处理数字。
答案 0 :(得分:0)
不能完全理解你的问题所以我只是按照字面意思来理解
我试图从只读输入中获取值(该值也通过javascript生成),添加到另一个只读输入然后打印它。
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;
答案 1 :(得分:0)
在使用它们进行数学运算之前将输入值转换为数字。
感谢Teemo的答案,我把它整理出来:因为问题是Javascript把值作为一个字符串,我使用Number()
函数解决了,使用它像这样:
Number(var importototale = document.getElementById("importoparziale1").value)
谢谢大家,并为我可怕的代码感到抱歉。