-3

我搜索了互联网、图书馆和其他十几个无法提供答案的东西。这是我的 .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>

任何人都可以在这里帮助我......这真的让我发疯!

4

2 回答 2

1

您在脚本中为输入字段提供了错误的 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 小提琴演示

于 2013-04-12T14:18:45.320 回答
0

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

<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"/>
于 2013-04-12T14:10:09.307 回答