[解決済み] ngf-selectの機能とフォームバリデーションに必要な理由は何ですか?
2022-02-17 22:15:31
質問
私はAngularJSの初心者です。私は、ファイルアップロード入力を含むすべての入力フィールドが満たされることを必要とするフォームを実装しようとしていました。
最初のサンプルと全く同じです。 https://angular-file-upload.appspot.com/
そこで、これをテストするために簡単なフォームを作成しました。
<form name="myForm">
<input id="userUpload" ng-model="filename" name="userUpload" required type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
<input id="userName" ng-model="username" name="name" required type="text" />
<button ng-disabled="myForm.$invalid" class="btn btn-primary">Ok</button>
</form>
しかし、これではうまくいきません。OKボタンは永遠に無効のままです。私は、もし私が属性
ngf-select=""
をファイル入力フィールドに追加してください。
<input id="userUpload" ng-model="filename" name="userUpload" required ngf-select="" type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
を実行すると、フォームは期待通りに動作します。OKボタンが有効になるのは
userName
と
userUpload
の入力欄が埋まっている。ググってみると
ngf-select
が、納得のいく答えが見つかりませんでした。これは何をするもので、なぜフォームが期待通りに機能するために必要なのでしょうか?
どのように解決するのですか?
angularの入力ファイルに問題があります。次のフィドルをご覧ください。
をメインコントローラーに置き、現在のスコープをプロトタイプのスコープに渡します。
MyCtrl.prototype.$scope = $scope;
このプロトタイプ関数をインクルードした後
MyCtrl.prototype.setFile = function(element) {
var $scope = this.$scope;
$scope.$apply(function() {
$scope.filename = element.files[0];
});
};
これで、入力ファイルに対して
onchange="MyCtrl.prototype.setFile(this)"
でスコープを更新します :) フォームのバリデーションを更新した後です。
関連
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み] <meta http-equiv="X-UA-Compatible" content="IE=edge">は何をするのですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] セレクトボックスのプレースホルダーを作成するにはどうすればよいですか?
-
[解決済み] なぜ ++[[]][+[] +[+[]] は "10" という文字列を返すのでしょうか?
-
[解決済み] HTMLフォームのSELECTタグ/入力の読み取り専用化
-
[解決済み] なぜAngularJSはselectに空のオプションを含めるのですか?
-
[解決済み】enctype='multipart/form-data'とはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】JS ファイルが net::ERR_ABORTED 404 (Not Found) を取得する)
-
[解決済み】React-Routerの子が1つしかない。
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】react router v^4.0.0 Uncaught TypeError: 未定義のプロパティ'location'を読み取れない
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー