仅在元素显示时才需要必填字段

时间:2017-03-21 03:03:32

标签: javascript html required

我有一个表格,用户被问到他是否有一个单选按钮形式的授权代表。如果用户选择“是”'选项,它会显示有关代表的更多字段,并且有必要的输入'代表性电子邮件'。

当用户选择yes选项时,是否只需要它?表单未提交,因为如果用户选择“无选项”,它会不断查找此必填字段的值。

Dictionary<int, object> spResult = new Dictionary<int, object>();
spResult.ToList().ForEach(x =>
        {
            var control = Controls.Cast<Control>().FirstOrDefault(y => y.ID == string.Format("txt_ID{0}", x.Key)) as TextBox;
            if (control != null)
                control.Text = x.Value.ToString();
        });
    }

js Fiddle Example

1 个答案:

答案 0 :(得分:2)

只需稍加更改,您就可以在显示/隐藏字段时切换电子邮件输入上的required属性。您只需要在元素中添加适当的emailInput类。

$('.onBehalfOf input:radio').change(function() {
  if ($(this).is(':checked') && $(this).val() == 'No') {
    if ($('.authorizedRep').hasClass("hide")) {

    } else {
      $('.authorizedRep').addClass("hide");
      $('.emailInput').removeAttr('required');
    }
  }

  if ($(this).is(':checked') && $(this).val() == 'Yes') {
    $('.authorizedRep').removeClass("hide");
    $('.emailInput').attr('required');
  }
});