2016-05-03 11 views
0

角度jを初めて使用しています。ファイルが選択されるまでアップロードボタンを無効にしたいとします。 以下のコードによれば、ボタンは無効になっていますが、ファイルが選択された後は有効になりません。ファイルアップロードパスを選択した後に送信ボタンを有効にするAngularJs

私を助けてください。

これは私の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()"> 

答えて

0
<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:カスタムクリックを追加しました。既定のonClickをそのまま使用することは可能ですが、リスナーを混在させて一致させることは難しいかもしれません。

4:必須フィールドはファイルフィールドでは機能しません。ディレクティブを追加する必要があります。これに関するいくつかの他のスタックオーバーフローの答えがあります。

上記の回答のいずれかを試してみてください。

+0

ありがとうございました。私はそれを試みます。 – user123

+0

それは私のために働いたおかげで – user123

+0

恐ろしい!それが良い場合は答えを受け入れてください:) –

関連する問題