使用JavaScript将数值插入到文本框中
问题描述:
我已经为学校分配了一个使用JS的基本计算器,但无法将结果返回到文本框中。这里是我的代码:使用JavaScript将数值插入到文本框中
<form>
<input type="textbox" id="val1"> Primo valore
<br><br>
<input type="textbox" id="val2"> Secondo valore
<br><br>
<script>
function getFloatValue(x) {
var xf = parseFloat(x.value)
return xf
}
</script>
<script>
var a = document.getElementById("val1")
var b = document.getElementById("val2")
var af = getFloatValue(a)
var bf = getFloatValue(b)
function calculate(a,b,op) {
var r
switch (op.value) {
case '+': return a+b
case '-': return a-b
case '/': return a/b
case '*': return a*b
}
}
</script>
<input type="button" value="+" onclick="document.getElementById('result').value = calculate(af, bf, '+')">
<input type="button" value="-" onclick="document.getElementById('result').value = calculate(af, bf, '-')">
<input type="button" value="/" onclick="document.getElementById('result').value = calculate(af, bf, '/')">
<input type="button" value="*" onclick="document.getElementById('result').value = calculate(af, bf, '*')">
<br><br>
<input type="textbox" id="result" value=''> Risultato
<br><br>
<input type="reset" name="reset" value="Resetta tutto">
</form>
我做了很多的尝试,但没有人以下工作:\
预先感谢您:d
答
- 不是传递
variables
,导通元件ID
的属性,以便我们可以使用id
-
op.value
op.value
没有意义,因为您正在将硬编码string
作为符号
function getFloatValue(x) {
return parseFloat(x.value);
}
function calculate(a, b, op) {
var a = document.getElementById(a);
var b = document.getElementById(b);
a = getFloatValue(a);
b = getFloatValue(b);
var r
switch (op) {
case '+':
return a + b
case '-':
return a - b
case '/':
return a/b
case '*':
return a * b
}
}
<form>
<input type="textbox" id="val1">Primo valore
<br>
<br>
<input type="textbox" id="val2">Secondo valore
<br>
<br>
<input type="button" value="+" onclick="document.getElementById('result').value = calculate('val1', 'val2', '+')">
<input type="button" value="-" onclick="document.getElementById('result').value = calculate('val1', 'val2', '-')">
<input type="button" value="/" onclick="document.getElementById('result').value = calculate('val1', 'val2', '/')">
<input type="button" value="*" onclick="document.getElementById('result').value = calculate('val1', 'val2', '*')">
<br>
<br>
<input type="textbox" id="result" value=''>Risultato
<br>
<br>
<input type="reset" name="reset" value="Resetta tutto">
</form>
答
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
+1
请添加一些解释。 – gofr1
+1
这对于已经具有'getFloatValue'功能的OP有什么帮助? –
什么是'af'和'bf'的价值? – Rayon
你正在做'op.value'开关,但字符串没有'value'属性。摆脱交换机中的'.value'。 – Li357
@Rayon他们是a和b铸造的价值浮动,appartently a和b没有价值,因为我在将值插入文本框之前执行了这段代码 – MC23