Включить кнопку Отправить после выбора пути загрузки файла AngularJs

Я новичок в angular js и хочу отключить кнопку загрузки, пока файл не выбран.
Согласно приведенному ниже коду, кнопка отключена, но она не включается после выбора файла.

Пожалуйста, помогите мне.

Это мой html код:

<input type="file" id="upload" name="file" class="uploadFile" required="required" ng-model="fileToUpload">

<input type="submit" id ="submitFile" value="PostUsingAjax" onClick="uploadFile()"
                        ng-disabled = "form.$invalid || disabled" ng-click ="disableButton()">

1 ответ

  1. <div ng-app>
      <div ng-controller="FileCtrl">
      <form name="myForm">
        <input type="file" id="upload" name="file" class="uploadFile" required ng-model="fileToUpload">
        <input type="submit" id ="submitFile" value="PostUsingAjax" ng-disabled="myForm.$invalid" ng-click ="doFile(fileToUpload)">
      </form>
      </div>
    </div>
    

    Я добавил немного необходимой упаковки. Вот несколько вещей, чтобы забрать:

    1: назовите форму так, чтобы вы могли ссылаться на нее в следующем случае ng-disabled="myForm.$invalid". Форма была названа myForm.

    2: обязательный атрибут на входе для файла не требует значения. Достаточно просто присутствовать.

    3: я добавил пользовательский angularjs ng-click. Можно использовать onClick по умолчанию, как у вас есть, но может быть плохо смешивать и сопоставлять слушателей.

    4: Required не работает с полями файлов. Необходимо добавить директиву. Есть несколько других ответов переполнения стека относительно этого.

    Попробуйте любой из приведенных выше ответов.