复选框如果语句检查没有检查巢状态



功能:

用户将以包括:下拉菜单,输入TextField和复选框的形式输入其详细信息。因此,第一个检查是确保填充适当的字段并且没有空白字段,如果填补了所有适当的字段,第二个条件将检查复选框是否已被打勾。根据复选框是否被打勾,它将执行第三次检查。如果检查复选框(用户只需花费50美元才能继续进行其他错误,将会出现错误),如果未检查复选框(用户只需花费100美元,其他错误将出现错误)。

)。

因此,功能流如下:

if(下拉菜单_1& input text field_1已填充或下拉菜单mp mp; input text field_2已填充),它将检查复选框 ->(复选框),它将检查值 ->(如果(如果输入text field_1超过$ x或输入文本字段_2超过$ x或输入text field_1 input text field_2大于$ x)

问题:

无权对用户在TextField中输入的价值的不重新标记,始终调用该值超过50美元或100美元的条件检查。

因此,即使用户要选中框和输入20羽毛,正确的行为是显示错误msg,用户必须花费50美元,但是当前的行为允许用户提交详细信息并继续进行下一页。

我需要在错误的情况下进行一些帮助,因为检查语法是检查Textfield中的值,这是根据复选框的状态而定的。

//Check for Input Field
if (($.trim($("#dropDownShops_1").val()) == "" || $.trim($("#ReceiptField_1").val()) == "") && ($.trim($("#dropDownShops_2").val()) == "" || $.trim($("#ReceiptField_2").val()) == "")) {
  console.log("Receipt_Field_Error wrong");
  $("#ReceiptInput_Field_Error").html("* Please fill in appropriate fields.");
  $("#ReceiptInput_Field_Error").fadeIn();
  setTimeout(function() {
    $("#ReceiptInput_Field_Error").fadeOut();
  }, 5000);
} else {
  //Check if American Card is used: Min spending of SGD$120 else will be min spending of SGD$150
  //AmexCard User
  if ($('#AmaxCardField').is(':checked')) {
    //Check that the input value field is SGD$120 or more else, inform that minimum spending is SGD120
    if (($("#ReceiptField_1").val() >= '120') || ($("#ReceiptField_2").val() >= '120') || [
      [($("#ReceiptField_1").val()) + ($("#ReceiptField_2").val())] >= '120'
    ]) {
      //Condition Passed
      console.log("Amex user and spent more than $120");
      alert("Amex user and spent more than $120");
    } else {
      //inform that minimum spending is SGD120
      $("#ReceiptInput_Field_Error").html("* Your Minimum Spending should be $120 to qualify.");
      $("#ReceiptInput_Field_Error").fadeIn();
      setTimeout(function() {
        $("#ReceiptInput_Field_Error").fadeOut();
      }, 5000);
    }
  } else if ((!$('#AmaxCardField:checked').length)) {
    //Check that the input value field is SGD$150 or more else, inform that minimum spending is SGD150
    if (($("#ReceiptField_1").val() >= '150') || ($("#ReceiptField_2").val() >= '150') || [
      [($("#ReceiptField_1").val()) + ($("#ReceiptField_2").val())] >= '150'
    ]) {
      console.log("Amex user and spent more than $150");
      alert("Amex user and spent more than $150");
    } else {
      //inform that minimum spending is SGD120
      $("#ReceiptInput_Field_Error").html("* Your Minimum Spending should be $150 to qualify.");
      $("#ReceiptInput_Field_Error").fadeIn();
      setTimeout(function() {
        $("#ReceiptInput_Field_Error").fadeOut();
      }, 5000);
    }
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ReceiptInput_Field_Error" style="z-index:1; position:absolute; top:270px; left:650px; display: none; font-size:35px; font-family:'Gothic'; width:1080; color:#fff;"><font face="Gothic">* Please fill in appropriate fields.</font>
</div>
<form>
  <!-- DropDown Menu to choose Participating Outlet -->
  <select id="dropDownShops_1">
    <option value="" selected disabled>Please Select Shops ...</option>
  </select>
  <input type="text" id="ReceiptField_1" style="z-index=10; position:absolute; top:390px; left:858px; height:58px; width:265px; outline:0; border: 0; font-size:25px; font-family:'Gothic'; color:#765725; background: transparent;" autofocus>
  <select id="dropDownShops_2">
    <option value="" selected disabled>Please Select Shops ...</option>
  </select>
  <input type="text" id="ReceiptField_2" style="z-index=10; position:absolute; top:585px; left:858px; height:58px; width:265px; outline:0; border: 0; font-size:25px; font-family:'Gothic'; color:#765725;  background: transparent;">
  <input type="checkbox" id="AmaxCardField" style="z-index=10; position:absolute; top:690px; left:420px; height:30px; width:30px; outline=0; border: 0; background: transparent;">
</form>

jsfiddle:https://jsfiddle.net/s42akp2k/

plunker:https://plnkr.co/edit/fletqc4gs0styhro7pnf?p=catalogue

出于某种原因,您的状态中有一个数组。我认为您打算使用括号进行分组,而不是括号。我解决了这个问题,现在正在工作。

//Check for Input Field
$('#submit').click(function(){
if (($.trim($("#dropDownShops_1").val()) == "" || $.trim($("#ReceiptField_1").val()) == "") && ($.trim($("#dropDownShops_2").val()) == "" || $.trim($("#ReceiptField_2").val()) == "")) {
  console.log("Receipt_Field_Error wrong");
  $("#ReceiptInput_Field_Error").html("* Please fill in appropriate fields.");
  $("#ReceiptInput_Field_Error").fadeIn();
  setTimeout(function() {
    $("#ReceiptInput_Field_Error").fadeOut();
  }, 5000);
} else {
  //Check if American Card is used: Min spending of SGD$120 else will be min spending of SGD$150
  //AmexCard User
  if ($('#AmaxCardField').is(':checked')) {
    //Check that the input value field is SGD$120 or more else, inform that minimum spending is SGD120
    if (($("#ReceiptField_1").val() >= 120) || ($("#ReceiptField_2").val() >= 120) || (
      (($("#ReceiptField_1").val()) + ($("#ReceiptField_2").val())) >= '120'
    )) {
      //Condition Passed
      console.log("Amex user and spent more than $120");
      alert("Amex user and spent more than $120");
    } else {
      //inform that minimum spending is SGD120
      $("#ReceiptInput_Field_Error").html("* Your Minimum Spending should be $120 to qualify.");
      $("#ReceiptInput_Field_Error").fadeIn();
      setTimeout(function() {
        $("#ReceiptInput_Field_Error").fadeOut();
      }, 5000);
    }
  } else if ((!$('#AmaxCardField:checked').length)) {
    //Check that the input value field is SGD$150 or more else, inform that minimum spending is SGD150
    if (($("#ReceiptField_1").val() >= '150') || ($("#ReceiptField_2").val() >= '150') || (
      (($("#ReceiptField_1").val()) + ($("#ReceiptField_2").val())) >= '150'
    )) {
      console.log("Amex user and spent more than $150");
      alert("Amex user and spent more than $150");
    } else {
      //inform that minimum spending is SGD120
      $("#ReceiptInput_Field_Error").html("* Your Minimum Spending should be $150 to qualify.");
      $("#ReceiptInput_Field_Error").fadeIn();
      setTimeout(function() {
        $("#ReceiptInput_Field_Error").fadeOut();
      }, 5000);
    }
  }
}
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ReceiptInput_Field_Error"><font face="Gothic">* Please fill in appropriate fields.</font>
</div>
<form>
  <!-- DropDown Menu to choose Participating Outlet -->
  <select id="dropDownShops_1">
    <option value="" selected disabled>Please Select Shops ...</option>
    <option value="...">...</option>
  </select>
  <input type="text" id="ReceiptField_1" autofocus>
  <select id="dropDownShops_2">
    <option value="" selected disabled>Please Select Shops ...</option>
    <option value="...">...</option>
  </select>
  <input type="text" id="ReceiptField_2" >
  <input type="checkbox" id="AmaxCardField" >
  
  <input type="submit" id="submit" />
</form>

您可能想查看它以使您的输入字段作为数字类型,然后使用数字比较代替类似的字符串(更改了比较器以删除货币符号并将其做到一个数字):

 //AmexCard User
  if ($('#AmaxCardField').is(':checked')) {
    //Check that the input value field is SGD$120 or more else, inform that minimum spending is SGD120
    if ((Number($("#ReceiptField_1").val().replace(/[^0-9.]+/g,"")) >= 120) || (Number($("#ReceiptField_2").val().replace(/[^0-9.]+/g,"")) >= 120) || (
      ((Number($("#ReceiptField_1").val().replace(/[^0-9.]+/g,""))) + (Number($("#ReceiptField_2").val().replace(/[^0-9.]+/g,"")))) >= 120
    )) {
      //Condition Passed
      console.log("Amex user and spent more than $120");
      alert("Amex user and spent more than $120");
    } else {
      //inform that minimum spending is SGD120
      $("#ReceiptInput_Field_Error").html("* Your Minimum Spending should be $120 to qualify.");
      $("#ReceiptInput_Field_Error").fadeIn();
      setTimeout(function() {
        $("#ReceiptInput_Field_Error").fadeOut();
      }, 5000);
    }

最新更新