将两个输入变量乘以jscript

时间:2013-12-31 03:10:28

标签: javascript jquery html

我正在尝试制作一个基本的投资回报率计算器,并且无法使任何类型的数学函数起作用。我只需要两个用户变量输入,并希望我的编码通过一个简单的数学方程并发布答案。一旦我可以将我的两个输入变量至少相互相乘,数学公式就会改变。

点击提交后,不会给出输出并重置输入字段。单击重置会清除字段。我希望输入(#output)显示答案。

此时我不关心CSS或最终公式。

HTML类型:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <script src="calculator.js" type="text/javascript"></script>
    <title>Calculator</title>
</head>

<body>
    <form id="calculator">
        <input type="text" id="Occupancy" name="occupancy">
        <input type="text" id="rooms" name="rooms">
        <button id="submit" type="submit" name="submit">Submit</button>
        <button id="reset" type="reset" name="reset">Reset</button>
        <input type="text" id="output" name="output">
    </form>
</body>
</html>

以下JavaScript代码:

// JavaScript Document
$(document).ready(function() {
    $('#calculator').submit(function() {
        var occupancy = $('#Occupancy').val();
        var rooms = $('#rooms').val();
        var output =occupancy * rooms;
        output = output.toFixed(2);
        $('#output').val(output);
    });
});

4 个答案:

答案 0 :(得分:3)

你的脚本运行正常。会发生什么,脚本运行并计算结果。但随后,表单将提交给服务器并重新加载页面。

为防止出现这种情况,您必须禁止表单提交到服务器

$('#calculator').submit(function(evt) {
    evt.preventDefault();
    var occupancy = $('#Occupancy').val();
    var rooms = $('#rooms').val();
    var output = occupancy * rooms;
    output = output.toFixed(2);
    $('#output').val(output);
});

请参阅JSFiddle

答案 1 :(得分:0)

尝试改变

var occupancy = $('#Occupancy').val();

var occupancy = parseFloat($('#Occupancy').val());

var rooms = $('#rooms').val();

var rooms = parseFloat$('#rooms').val());

答案 2 :(得分:0)

如果没有要求提交表格:

$('#calculateButton').click(function() {
  var occupancy = $('#Occupancy').val();
  var rooms = $('#rooms').val();
  var output = +occupancy * +rooms;

  $('#output').val(output.toFixed(2));
});

答案 3 :(得分:0)

试试这个:

// JavaScript Document
$(document).ready(function() {
    $('#submit').click(function() {
        var occupancy = $('#Occupancy').val();
        var rooms = $('#rooms').val();
        var output =occupancy * rooms;
        output = output.toFixed(2);
        $('#output').val(output);
    });
});