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

时间:2014-04-03 21:05:13

标签: javascript jquery

如果表格总额低于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.">

3 个答案:

答案 0 :(得分:2)

最好将其保持为禁用状态,并在总数超过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>

答案 1 :(得分:0)

<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."/>

答案 2 :(得分:-1)

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

如果要调用它,则需要在其他输入事件&#34; onchange&#34;上使用它。 请使用setInterval查看I've made a fiddle,告诉您它是如何工作的:

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