【问题标题】:Javascript calculator result flashesJavascript 计算器结果闪烁
【发布时间】:2012-09-20 16:21:15
【问题描述】:

我的代码:“已编辑,在所有变量前添加了“var”,谢谢。我尝试删除

,但这样做时它不起作用。
<head>
<title>Calculator</title>
<script language="javascript">
function calculate()
{
var v=parseInt(document.forms[0].txt1st.value);
var w=parseInt(document.forms[0].txt2nd.value);
var x=parseInt(document.forms[0].txt3rd.value);
var y=703;
var z = (v/w/x*y).toFixed(3);
document.getElementById("display").innerHTML=z;
}

</script>
</head>
<body>
<form name="cal" method="post" action="">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input name="txt1st" type="text" id="txt1st"></td>
<td><input name="txt2nd" type="text" id="txt2nd"></td>
<td><input name="txt3rd" type="text" id="txt3rd"></td>
<td>x 703</td>
</tr>
</table>
<button onclick="calculate()">Calculate</button>
<div id="display"></div>
</body>

当我单击“计算”按钮时,结果会显示在 div 中,但只在一瞬间消失。请记住,我对 JavaScript 很陌生。任何帮助表示赞赏,谢谢。

【问题讨论】:

  • 你应该用 "var" btw 声明变量
  • 没有理由在表单中声明您的代码,也没有必要提交此表单。删除表单标签
  • 请注意:如果您只想保留整数,则应仅使用parseInt。在这种情况下,您真的应该习惯使用可选的radix 参数。 var v=parseInt(document.forms[0].txt1st.value, 10); 如果你想允许浮点数,那么一元加 + 就是你所需要的。 var v = +document.forms[0].txt1st.value

标签: javascript function calculator displaytag


【解决方案1】:

您正在提交表单,因此页面正在刷新。

return false; 添加到calculate 函数的末尾以防止表单提交。

【讨论】:

    猜你喜欢
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 2018-02-28
    • 2021-06-25
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多