必填字段集html [Angular]

时间:2016-10-17 20:15:24

标签: html angularjs html5 forms

有一种方法可以使用表单字段集而不是每个输入?

我的观点:用户可以选择要填充的内容,但不必填写所有字段集输入

我有这两个:

1:

<fieldset>
  <legend> legend </legend>
  <label for="id"> label </label>
  <input type="text" id="id" name="name">
  <label for="id2"> label </label>
  <input type="text" id="id2" name="name2">
</fieldset>

2:

<fieldset>
  <legend> legend </legend>
  <label for="id"> label </label>
  <input type="radio" id="id" name="name">
  <label for="id2"> label </label>
  <input type="radio" id="id2" name="name">
</fieldset>

我使用 Angular ,如果它可以是最简单的。

1 个答案:

答案 0 :(得分:1)

如果您只有2个选项,最简单的方法是:

<fieldset>
  <legend> legend </legend>
  <label for="id"> label </label>
  <input type="text" id="id" name="name" ng-required="!name2">
  <label for="id2"> label </label>
  <input type="text" id="id2" name="name2" ng-required="!name">
</fieldset>

编辑:由于它们是动态的,您可能需要一个模型来帮助您了解每个字段集。

<fieldset>
  <legend> legend </legend>
  <label for="id"> label </label>
  <input type="text" id="id" name="name" ng-model="fieldSetHasValue" ng-change="fieldSetHasValue = true">
  <label for="id2"> label </label>
  <input type="text" id="id2" name="name2" ng-model="fieldSetHasValue" ng-change="fieldSetHasValue = true">
</fieldset>

然后在提交之前,检查fieldSetHasValue是否为true。这只是实现这一目标的众多方法之一,如果你实现这一点,毫无疑问会有一些问题需要解决。这只是我头脑中的一个快速解决方案,而无需查看其余的代码。