计算器不工作与javascript

Calculator does not work with javascript

本文关键字:javascript 工作 计算器      更新时间:2023-09-26

我搜索了互联网,图书馆,还有其他一些无法提供答案的地方。这是我的。js文件

// JavaScript Document
function calculate()
{
var form = document.getElementById("calc");
var text1 = document.getElementById("calculator9").value-0;
var text2 = document.getElementById("calculator13").value-0;
var x = parseFloat(text1.value);
var y = parseFloat(text2.value);  
var out = document.getElementById("calculator21").value = "$" + ((x * y) * 0.0016) - ((x * y) * 0.00085);
}

这是我在计算器页面上的表单

<form id="calc" name="calc" method="post" action=""> 
<div id="calculator8"> </div>
<div id="calculator9"><input type="text" name="x" class="box1" /> </div>
<div id="calculator10"> </div>
<div id="calculator11"> </div>
<div id="calculator12"> </div>
<div id="calculator13"><input type="text" name="y"  class="box2" /> </div>
<div id="calculator14"> </div>
<div id="calculator15"> </div>
<div id="calculator16"> </div>
<div id="calculator17"><input type="submit" name="submit"  class="button"   value="" onclick="calculate()" /></div>
<div id="calculator18"> </div>
<div id="calculator19"> </div>
<div id="calculator20"> </div>
<div id="calculator21"><input type="text" name="text3"  class="box3" readonly="readonly" value="" />   </div>
<div id="calculator22"> </div>
</form>

谁能帮帮我....这真的要把我逼疯了!

您在脚本中为输入字段提供了错误的id

var text1 = document.getElementById("calculator9").value;

calculator9是div而不是输入。所以试试这个

<div id="calculator13"><input type="text" id="txt9" name="y"  class="box2" /> </div>

并像这样使用

var text1 = document.getElementById("txt9").value;

在你的脚本中还有其他问题,比如

var x = parseFloat(text1.value);

此处text1.value未定义,仅使用text1

你可以在这里得到工作的例子

JS Fiddle Demo

您没有取消提交按钮的单击操作,因此表单正在提交。

<form id="calc" name="calc" method="post" action="" onsubmit="return false"> 

其他问题
var text1 = document.getElementById("calculator9").value-0;  <What is with the -0
var text2 = document.getElementById("calculator13").value-0;  <9 and 13 table cells, not inputs, they have no value!
var x = parseFloat(text1.value);  <-- text1 should be a string, not a dom object
var y = parseFloat(text2.value);  

看起来应该像

var text1 = document.getElementById("textbox1_id").value;
var text2 = document.getElementById("textbox2_id").value;
var x = parseFloat(text1);
var y = parseFloat(text2);  
.../
var out = document.getElementById("textbox3_id").value

和HTML

<input type="text" name="x" class="box1" id="textbox1_id"/>
<input type="text" name="y" class="box2" id="textbox2_id"/>
<input type="text" name="text3"  class="box3" readonly="readonly" value="" id="textbox3_id"/>