【问题标题】:Using input text and Javascript for calculation使用输入文本和 Javascript 进行计算
【发布时间】:2016-07-16 14:43:08
【问题描述】:

我尝试了多种方法来获得结果,但我无法这样做..我是 Javascript 的新手..

举个例子:

“results2”中的用户输入值“5”。单击 SGD 按钮后,我希望将 input 中的值更改为 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;
}

【问题讨论】:

    标签: javascript html dom-events


    【解决方案1】:

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

    1. 您忘记缩进代码了。
    2. 您使用&lt;/P&gt; 而不是&lt;/p&gt; 结束了段落。
    3. 您需要将results2.value 传递给displayConversion,而不是SGD.value
    4. convertrate 必须是一个函数才能被多次评估。

    您还可以将id 属性添加到results2,以便更轻松地更改其值。

    这是修复了这些问题的代码。

    function convertrate(rate) {
      var SGDrate = 2.92;
      return rate * SGDrate;
    }
    
    function displayConversion(rate) {
      var results2 = document.querySelector('#results2');
      results2.value = convertrate(rate);
    }
    <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>

    【讨论】:

      【解决方案2】:

      当像这样使用onclick 事件时,您应该传递input.result2value

      <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;
      }
      

      在这些编辑之后查看您的示例:

      var SGDrate = 2.92;
      
      function displayConversion(n1)
      {
        var convertrate =n1 * SGDrate;
        currency.results2.value=convertrate;
      }
      <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>

      您还应该检查用户输入的值是否为float,在下面的sn-p中我检查了用户输入的值,如果不是float则发出警报消息

      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")
        }
      }
      <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>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-10
        • 2014-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-28
        相关资源
        最近更新 更多