2

無線タイプの入力と Angularjs フォームの検証に HTML5 の「必須」属性を使用すると、奇妙な結果が得られます

私の入力:

<form name="myForm">
    <div ng-repeat="i in [0,1,2]">
        <input type='radio' name='var1' ng-model='var1' value='1' required />1<br />
        <input type='radio' name='var1' ng-model='var1' value='2' required />2<br />
        <input type='radio' name='var1' ng-model='var1' value='3' required />3<br />
        <span ng-show="myForm.var1.$error.required" ng-click="">Choose an option.</span>
        <button ng-disable="myForm.$invalid">Submit</button>
    </div>
</form>

1 つのオプションを選択すると、他のオプションは選択解除されます。また、フォームの検証は両方に対してアクティブ化/非アクティブ化されます。

4

1 に答える 1

1

はい、これは「名前」属性が繰り返されているためです。代わりにこれを試してください:

<form name="myForm">
    <div ng-repeat="i in [0,1,2]">
        <input type='radio' ng-model='i.var1' value='1' required />1<br />
        <input type='radio' ng-model='i.var1' value='2' required />2<br />
        <input type='radio' ng-model='i.var1' value='3' required />3<br />
        <span ng-show="i.var1==''" ng-click="">Choose an option.</span>
        <button ng-disable="i.var1==''">Submit</button>
    </div>
</form>

名前を削除し、フォームの検証/無効化を i.var1=='' で直接行います

于 2013-10-04T17:22:33.677 に答える