如何根据表单中单选按钮的选择按要求填写字段

时间:2019-07-19 07:34:58

标签: jquery

有一个自定义单选按钮。在选择该按钮的“是”时,会出现另一个不需要的字段

$("#btnFormSubmit").click(function() {
  var radioValue = $("input[name='CustomDuration']:checked").val();
  if (radioValue == 'Yes') {
    $("#frmCertificateRequirement").validate({
      rules: {
        ValidDurationMonths: {
          required: false
        }
      }
    })
  }

2 个答案:

答案 0 :(得分:1)

首先,您需要在页面加载时调用validate(),而不是在单击表单的提交按钮时调用。

关于您的问题,required属性将接受一个选择器,您可以使用该选择器动态设置元素的验证要求。试试这个:

$("#frmCertificateRequirement").validate({
  rules: {
    ValidDurationMonths: {
      required: 'input[name="CustomDuration"]:checked'
    }
  }
});

答案 1 :(得分:0)

如果您不想在选中单选按钮时显示必填消息。 然后,您的代码没有关闭,请更正它。

HTML代码

<form name="btnFormSubmit" id="btnFormSubmit" method="post">
    <div>
        <label for="username">Username/Email</label>
        <input type="text" name="username" autocomplete="false" readonly onfocus="this.removeAttribute('readonly');">
    </div>
    <button type="submit" id="btnFormSubmit">submit</button>
</form>
<input type="checkbox" name="CustomDuration" id="CustomDuration" value="Yes">checkbox

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.min.js"></script>

完美关闭的JQUERY代码

$("#btnFormSubmit").click(function () {
   var radioValue = $('input[name="CustomDuration"]:checked').val();

   if (radioValue == "Yes") {
      $("#login_form").validate({
         rules:{
            username: 
            {
                required: false,
            }
         },
      });
    }
 }); /*You have missing this closing*/