2015-08-26 2 views
-1

У меня есть HTML, как показано нижеИзменение входного типа динамически и загрузить файл

<div class="col-md-12"> 
    <div class="col-md-4" ng-class="{ 'has-error' : submitted && form.field_format.$invalid }"> 
    <label for="field_format">Type</label> 
    <select class="form-control" name="field_format" id="field_format" data-ng-model="form.field_format" required> 
     <option value="text">Text</option> 
     <option value="image">Image</option> 
    </select> 
    <div ng-show="submitted && form.field_format.$invalid" class="help-block"> 
     <p ng-show="form.field_format.$error.required">Field format is required</p> 
    </div> 
    </div> 

    <div class="col-md-7" ng-class="{ 'has-error' : submitted && form.field_value.$invalid }"> 
    <label for="field_value">Value</label> 
    <input type="text" class="form-control" name="field_value" id="field_value" data-ng-model="form.field_value" placeholder="Enter Value" required/> 
    <div ng-show="submitted && form.field_value.$invalid" class="help-block"> 
     <p ng-show="form.field_value.$error.required">Field value is required</p> 
    </div> 
    </div> 
</div> 

Я хочу осуществить следующие функциональные

  1. На Измените field_format из select box, изменить тип field_value входного сигнала text/file
  2. Загрузить file/text

Я прочитал Как загрузить файл с помощью углового, и файл загрузки NodeJS работает для меня, но я не уверен, как я могу добиться загрузки файла/текста в динамической форме?

Поле выбора - это рендеринг с помощью <option value="? undefined:undefined ?"></option> Как я могу сделать это, чтобы выбрать текст по умолчанию?

ответ

1

Создайте скрытый ввод (с ng-скрытым, например) для вашего файла, и когда событие изменения запущено, измените свойство в своем контроллере, чтобы вход стал видимым.

+0

Спасибо, используя это, типы ввода меняются, но проблема в том, что я требую подтверждения в поле, а вход типа файла не привязан к ng-модели, поэтому как я могу управлять валидацией с ним тоже? – Dau