【问题标题】:How to verify that field is greater than only if check on a specific button如何验证该字段大于仅在检查特定按钮时
【发布时间】:2020-09-22 11:42:06
【问题描述】:

对不起,我的愚蠢问题,但我不熟悉 JQuery。我想仅在用户单击特定按钮时检查字段值是否大于其他字段值。我的表单上有两个按钮,用于提交具有不同按钮值的值。 这是我不知道怎么写的JavaScript代码:

$(document).ready(function(){
    // If click on DKV button, check thaht field prix_total > litrage
    // else if click on GR, do not check that prix_total > litrage
    $("#creer_carburant_DKV").click(function(){
        var price = $("#prix_total").val();
      var liter = $("#litrage").val();
        if (price > liter){
        // send the form
      }else{
        alert("The price must be greater than liter");
      }

     $("#creer_carburant_GR").click(function(){
        // If prix_total is not set, define to 0
    });

这是 JSFiddle 上的一个工作示例:https://jsfiddle.net/04mpbfcx/

【问题讨论】:

    标签: javascript jquery forms validation button


    【解决方案1】:

    当出现问题时,您需要停止提交表单。使用另一个事件而不是单击按钮。 像这样:

    <script>
    $(document).ready(function(){
        $("#creer_carburant_DKV").click(function(){
            var price = $("#prix_total").val();
            var liter = $("#litrage").val();
            if (Number(price) > Number(liter)){
                // send the form
            }else{
                alert("The price must be greater than liter");
                event.preventDefault(); // This causes the submit event to be canceled
            }
        });
    });
    </script>
    

    【讨论】:

      【解决方案2】:

      您的 if 语句是比较两个字符串而不是数字。您只需将价格和升转换为数字就可以了。

      if (Number(price) > Number(liter)) {
      

      jsfiddle

      【讨论】:

      • 感谢您的回答,但即使我投到 Number 表格也会发送。
      猜你喜欢
      • 1970-01-01
      • 2016-09-01
      • 2011-06-08
      • 1970-01-01
      • 2014-11-18
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 2012-12-28
      相关资源
      最近更新 更多