【问题标题】:jquery on form calculation max values without submitjquery关于表单计算最大值而不提交
【发布时间】:2026-01-11 21:55:02
【问题描述】:

如何在不提交的情况下进行动态表单计算?提交是关于 php 服务器的。我需要用限制最大值来计算这个表格。示例结果值不能高于买入值。上面必须禁用错误提交按钮。 我找不到任何解决方案。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">

<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(document).ready(function(){
    $("#storage","#result","#account").on(keyup, change(function(){
      var abc = $("#abc").val();
     var price = $("#price").val();
    var storage = $("#capacity").val() - $("#abc").val();
    $("#storage").val(storage);
     var result = $("#price").val() * $("#abc").val();
 $("#result").val(result);
  var account = buy - result;
   $("#account").val(account);
});
  });
</script>
</head>
<body>
  <form method="post" action="" >
 <input id="buy" type="hidden" class="form-control" name="buy" value="5000000" />
    <input type="hidden" id="capacity"  class="form-control" name="capacity"  value="1000000" />
Storage : <input id="storage" type="text" class="form-control" name="storage" min="0" max="1000000" value=""/><br>
Abc: <input id="abc" type="text" class="form-control" name="abc" min="0" max="1000000" value="" /> <br>
Price: <input id="price" type="text" class="form-control" name="price" value="15" /> <br>
Result: <input id="result" type="text" class="form-control" name="result" value=""/> <br>
Account: <input id="account" type="text" class="form-control" name="account" max="5000000" value="" /> <br>
  <input type="button" id="submit" value="submit">  
</form>
 
</body>
</html>

【问题讨论】:

    标签: javascript html jquery max limit


    【解决方案1】:

    使用输入/按键事件监听器。例如(Vanilla JS):

    document.getElementById('myInput').addEventListener("keyup", function() {
      console.log(document.getElementById("myInput").value);
      // Do your stuff here
    });
    &lt;input id="myInput" /&gt;

    或者使用 jQuery:

    $('#myInput').keyup(function() {
      console.log($("#myInput").val());
      // Do your stuff here
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <input id="myInput" />

    虽然这很有帮助,但 JavaScript(除了 Node)是客户端的,可以很容易地被覆盖,因此请确保您也在后端评估输入。

    【讨论】: