如果值小于指定值,则禁用提交按钮

Disable submit button if value less than specified

本文关键字:按钮 提交 小于 如果      更新时间:2023-09-26

如果表单总额低于 200 美元,我正在尝试禁用提交按钮。我已经破解了一些代码,但无法让它工作。

(total1) 来自另一个脚本。

<script type="text/javascript">
function () {      
      if ($('total1').val() > 200)
          $(this).closest("form").find(":submit").removeAttr("disabled");
      else
          $(this).closest("form").find(":submit").attr("disabled", "disabled");      
      }
</script>
<form method="post" action="order.php">
Order total = $<input style="border: 0px solid #000000;" size="3" type="text" id="total1" readonly />
<input type="submit" value="Submit" disabled title="Order is below $200 minimum.">

最好将其保留为已分发,并在总数超过 200 时启用它

假设总输入框不是只读的。
使用 JQuery

<input style="border: 0px solid #000000;" size="3" type="text" id="total1" readonly />
<input type="submit" value="Submit" disabled title="..." id="myButton"> 
// I have added id as myButton
<script>
$('#total1').change(function() {  // When value of total one is changed
  if ($('#total1').val() > 200)
          $("#myButton").removeAttr("disabled");
  else
          $("#myButton").attr("disabled", "disabled");      
  }
});
</script>
<script type="text/javascript">
function validate() {    //Name the function  
      if ($('total1').val() > 200)
          $(this).closest("form").find(":submit").removeAttr("disabled");
      else
          $(this).closest("form").find(":submit").attr("disabled", "disabled");      
      }
</script>
<form method="post" action="order.php" oninput="validate()"> <!-- Call validate form modification -->
    Order total = $<input style="border: 0px solid #000000;" size="3" type="text" id="total1" readonly />
    <input type="submit" value="Submit" disabled title="Order is below $200 minimum."/>

你有一个匿名函数,永远不会以这种方式调用。

例如,如果你想调用它,你需要在其他一些输入事件"onchange"上使用它。看,我用setInterval做了一个小提琴来向你展示它是如何工作的:

setInterval(function () {
    if ($('#total1').val() >= 200)
        $(":submit").removeAttr("disabled");
    else
        $(":submit").attr("disabled", "disabled");
}, 1);
setInterval(function () {
    var vl = parseInt($("#total1").val());
    $("#total1").val(vl + 50);
}, 1000);