JSON オブジェクトから動的フォーム入力を作成する Angular.js アプリを作成しようとしています。
まず、JSON オブジェクト (フィールドと呼ばれる) があります。
[
{"field_id":209,"form_id":1,"name":"firstname","label":"First Name","type":"text"},
{"field_id":210,"form_id":1,"name":"lastname","label":"Last Name","type":"text"},
{"field_id":211,"form_id":1,"name":"email","label":"Email","type":"text"},
{"field_id":212,"form_id":1,"name":"picture","label":"Picture","type":"file"},
{"field_id":213,"form_id":1,"name":"address","label":"Address","type":"file"},
{"field_id":214,"form_id":1,"name":"password","label":"Password","type":"password"},
{"field_id":215,"form_id":1,"name":"","label":"","type":"submit"}
]
オブジェクトキーtypeは、フォームの入力タイプです。下記参照:
<p ng-repeat="field in fields">
{{field.name}} : <input type="{{field.type}}" value="{{record.data[field.name]}}" />
</p>
submitこれで、 、text、password、checkboxおよびradioフィールドに対して完全に正常に機能します。ただし、タイプが の場合file、入力タイプを に設定しますtext。
テキストを forに置き換える{{field.name}}と、 が出力されていることが確認できます。{{field.type}}file
静的に変更<input type="{{field.type}}"... する<input type="file"...と、ファイル入力が正しく表示されます。
入力タイプをファイルとして動的に設定できないのはなぜですか?