使用输入文本和javascript进行计算

时间:2016-07-16 14:43:09

标签: javascript html javascript-events

我尝试了多种方法来获得结果,但我无法这样做..我在javascript中很新..

举个例子。

“results2”中的用户输入值“5”。单击SGD按钮后,我希望输入中的值更改为新值,即UserInput * SGDRate。

这是我的HTML代码

<p class="heading">
This is a currencry converter for Singapore To Malaysia Currency </P>

<form name="currency">
<input type="text" name="results2">
<input type="button" value=SGD name="SGD" onclick="displayConversion(SGD.value)">
<input type="button" value="Please Click to find what is the latest Rate" name="help" onclick = "rates()">
</form>

至于我的javascript文件

我知道我需要创建另一个功能,但我不确定我从哪里开始。

var SGDrate = 2.92;
var convertrate = inputUser * SGDrate;

function displayConversion(n1)
{
currency.results2.value=n1;
}

提前致谢:)

2 个答案:

答案 0 :(得分:1)

您在代码中犯了一些错误:

  1. 你忘了缩进代码。
  2. 您使用</P>而不是</p>关闭了该段落。
  3. 您需要将results2.value传递给displayConversion,而不是SGD.value
  4. convertrate需要是一个函数才能进行多次评估。
  5. 此外,您可以向id添加results2属性,以便更改其值。

    这是解决了这些问题的代码。

    &#13;
    &#13;
    function convertrate(rate) {
      var SGDrate = 2.92;
      return rate * SGDrate;
    }
    
    function displayConversion(rate) {
      var results2 = document.querySelector('#results2');
      results2.value = convertrate(rate);
    }
    &#13;
    <p class="heading">
      This is a currencry converter for Singapore To Malaysia Currency
    </p>
    
    <form name="currency">
      <input type="text" id="results2" name="results2">
      <input type="button" value=SGD name="SGD" onclick="displayConversion(results2.value)">
      <input type="button" value="Please Click to find what is the latest Rate" name="help" onclick = "rates()">
    </form>
    &#13;
    &#13;
    &#13;

答案 1 :(得分:0)

使用此类value事件时,您应该input.result2 onclick传递:

<input type="button" value=SGD name="SGD" onclick="displayConversion(document.getElementsByName('results2')[0].value)">

然后在您的脚本中,您应该将您的等式计算到函数中:

var SGDrate = 2.92;

function displayConversion(n1)
{
  var convertrate =n1 * SGDrate;
  currency.results2.value=convertrate;
}

在这些修改后查看您的示例:

&#13;
&#13;
var SGDrate = 2.92;

function displayConversion(n1)
{
  var convertrate =n1 * SGDrate;
  currency.results2.value=convertrate;
}
&#13;
<p class="heading">
  This is a currencry converter for Singapore To Malaysia Currency </p>

<form name="currency">
  <input type="text" name="results2">
  <input type="button" value=SGD name="SGD" onclick="displayConversion(document.getElementsByName('results2')[0].value)">
  <input type="button" value="Please Click to find what is the latest Rate" name="help" onclick = "rates()">
</form>
&#13;
&#13;
&#13;

如果用户输入的值是float,您还应该检查输入值,在下面的代码片段中,我检查了用户输入的值,如果不是float,则会发出警告消息

&#13;
&#13;
var SGDrate = 2.92;

function displayConversion(n1)
{
  if( !isNaN(parseFloat(n1)) ){
    var convertrate = parseFloat(n1) * SGDrate;
    currency.results2.value=convertrate;
  }
  else{
    alert("you must enter a number")
  }
}
&#13;
<p class="heading">
  This is a currencry converter for Singapore To Malaysia Currency </p>

<form name="currency">
  <input type="text" name="results2">
  <input type="button" value=SGD name="SGD" onclick="displayConversion(document.getElementsByName('results2')[0].value)">
  <input type="button" value="Please Click to find what is the latest Rate" name="help" onclick = "rates()">
</form>
&#13;
&#13;
&#13;