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

Javascript 如果值小于指定值,则禁用“提交”按钮,javascript,jquery,Javascript,Jquery,如果表单总额低于200美元,我将尝试禁用提交按钮。 我已经拼凑了一些代码,但无法使其工作 (total1)来自另一个脚本 <script type="text/javascript"> function () { if ($('total1').val() > 200) $(this).closest("form").find(":submit").removeAttr("disabled"); else

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

函数(){
如果($('total1').val()>200)
$(this).closest(“form”).find(“:submit”).removeAttr(“disabled”);
其他的
$(this).closest(“form”).find(“:submit”).attr(“disabled”、“disabled”);
}
订单总数=$

函数validate(){//命名函数
如果($('total1').val()>200)
$(this).closest(“form”).find(“:submit”).removeAttr(“disabled”);
其他的
$(this).closest(“form”).find(“:submit”).attr(“disabled”、“disabled”);
}
订单总数=$

最好将其保留为已取消,并在总数超过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>

//我已将id添加为myButton
$('#total1').change(函数(){//当total 1的值更改时
如果($('#total1').val()>200)
$(“#我的按钮”).removeAttr(“禁用”);
其他的
$(“#我的按钮”).attr(“禁用”、“禁用”);
}
});

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

如果希望调用它,则需要在其他输入事件“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);

该函数只是一个匿名函数,甚至没有被调用。看起来您应该首先阅读一些JavaScript的基础知识。尝试切换属性选择脚本以响应$('total1')或类似的值$('total1')似乎不是有效的选择器。如果您在其他地方将其设置为变量,它看起来像
total1.val()
。为什么输入字段是只读的?这只是一个启示,使用.prop('disabled',true),attr('disabled',disabled')是不推荐的,也可以在需要时使用true和false,而且->我认为它会解决您的问题,如果它真的话,告诉我,我打开答案,你检查一下:)
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);