检查表单输入是否等于特定文本,如果是,则执行计算并在另一个输入字段中打印

时间:2019-03-07 21:45:07

标签: javascript jquery

我希望能够检查两个输入字段值(return和takeplaced),例如100和20

如果结果字段=赢,则执行计算:return(--)creditPlaced,然后在另一个称为利润的字段中显示结果。

PHP用于从表中提取数据---忽略PHP代码。

HTML

<div class="form-group">
  <label for="stakePlaced">Stake Placed</label>
  <input type="text" class="form-control mb-2" placeholder="stakePlaced" name="stakePlaced" value="<?php echo $stakePlaced ?>">
</div>

<div class="form-group">
  <label for="result">Result</label>
  <input type="text" class="form-control mb-2" placeholder="result" name="result" id="result" onchange="calcula" value="<?php echo $result ?>">
</div>

<div class="form-group">
  <label for="return">Return</label>
  <input type="text" class="form-control mb-2" placeholder="return" name="return" id="return" value="<?php echo $return ?>">
</div>

<div class="form-group">
  <label for="return">Profit</label>
  <input type="text" class="form-control mb-2" placeholder="profit" name="profit" id="profit" value="<?php echo $profit ?>">
</div>

JS

  function calcula(){
    $(document).ready(function(){
      $("#result").keyup(function(){
        if (this.value == "Win"){
          var vreturn = document.getElementById('return').value;
          var stake = document.getElementById('stakePlaced').value; 
          var result = parseFloat(vreturn)-parseFloat(stake);

          var secresult = result.toFixed(2);

          document.getElementById('profit').value = secresult;
       }
    });
});
 window.onload = calcula;

1 个答案:

答案 0 :(得分:1)

您的数学尚不清楚...我不知道在处理数字值时该值怎么可能是Win ...但这可能超出了范围。

要通过name获取输入值(由于没有id),可以使用attribute selectors

请参见下文...在“结果”字段中键入“赢”(第二个)。它将在“利润”字段(最后)中输出“ 0.00”。

$(document).ready(function(){
  $("#result").keyup(function(){
    if (this.value == "Win"){
      console.log("Win!");
      var vreturn = $("[name='return']").val();
      var stake = $("[name='stakePlaced']").val(); 
      var result = parseFloat(vreturn)-parseFloat(stake);

      var secresult = result.toFixed(2);

      $("[name='profit']").val(secresult);
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="form-group">
  <label for="stakePlaced">Stake Placed</label>
  <input type="text" class="form-control mb-2" placeholder="stakePlaced" name="stakePlaced" value="20">
</div>

<div class="form-group">
  <label for="result">Result</label>
  <input type="text" class="form-control mb-2" placeholder="result" name="result" id="result" value="100">
</div>

<div class="form-group">
  <label for="return">Return</label>
  <input type="text" class="form-control mb-2" placeholder="return" name="return" value="20">
</div>

<div class="form-group">
  <label for="return">Profit</label>
  <input type="text" class="form-control mb-2" placeholder="profit" name="profit" value="30">
</div>

并且您不需要在运行于$(document).ready(function(){ ...的命名函数中包含window.onload