問題タブ [angularjs-ng-model]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 入力が無効な場合、角度はモデルの変更時にnullだが有効な入力値を復元しません
<input>
フォーム検証で奇妙な/紛らわしい動作に遭遇しました。
基本的に、入力に無効な数値 ( に設定) が含まform.$valid
れfalse
ている場合、モデル値が に変更された場合null
、$valid
フラグは に戻されtrue
ますが、入力フィールドに表示される値は変更されません。
説明のためにプランカーを作成しました。次の手順に従って再現します。
- セルの値を空に変更します。
- 保存リンクをクリックします (
null
モデルに保存されます) - 数字以外の文字を入力してください。
- リセットリンクをクリックします (
null
モデルから復元します) 。 - 入力フィールドが無効ではなくなりましたが、無効な文字がまだ残っていることを確認してください。
これはバグですか、それとも何か間違っていますか?
編集:
私はそれがバグだと信じ始めています。""
の値を強制する別のディレクティブを導入して「修正」しましたnull
。これは、「修正」を加えた上記のプランカーのフォークです。
EDIT2:
これは v1.3+ で修正されました
angularjs - Angular - ngModelController に $validators がありませんか?
ここでAngularのドキュメントを見てきました: https://docs.angularjs.org/guide/forms#custom-validation
カスタム ディレクティブを使用して、独自の入力フィールド バリデータを作成しようとしています。上記のリンクのものと同じように見えるディレクティブを作成しましたが、独自の検証機能 (6 桁のパスワード) でのみカスタマイズされています。
そして、実行すると、次のエラーが発生します。
ここで何が欠けていますか?
angularjs - angularjs ng-pasteがモデル値を更新しない
ng-paste
テキストエリアにリンクを貼り付けるときにテキストエリアに使用しました。その値を保存するカスタム関数を呼び出しています。次のコードを参照してください
しかし、コンソールでは常にundefined
価値があります。オブジェクトの値を取得するにはどうすればよいですか?
arrays - Array をオブジェクト Angularjs に変換する
のような配列があります。var names=["price","quality","service"]
その配列を のようなオブジェクトに変換する必要がありますnames=[{"name":"price", "value":"1.3"},{"name":"quality","value":"3"},{"name":"service","value":"3.4"}]
。毎回配列の値が異なります。ng-repeat
likeを使用して、その値で入力フィールドを作成する必要があります
ユーザーがフォームを送信するときに値をオブジェクトとして取得する方法。誰でも私を助けることができます。
アップデート
次のようなjsonが必要です:::
names=[{"name":"price", "value":"1.3"},{"name":"quality","value":"3"},{"name":"service","value":"3.4"}]
ありがとう!
angularjs - AngularJS : ng-check チェック済み入力の $pristine
約 100 の質問を含むフォームがあり、それぞれにラジオといくつかのチェックボックスがあるため、ユーザーがフォームを保存して後でロードできるようにする必要があります。このセッションでユーザーが変更したものも確認する必要があります。
この質問は問題を解決します:どの入力フィールドが AngularJS で変更されたかをどのように示すことができますか?
2 番目の答え (モデルの古い値と現在の値を保存し、両方を比較する) がそれを行います。ただし、 $pristine ソリューションを使用したい場合は、問題があります。ng-checked ボックスのチェックを外しても、その $pristine 値は変更されません。$pristine の値は、チェックを外した後に再度チェックを入れることによってのみ false になります。
ng-check で ng-model を使用することは想定されていませんが、サーバーから 1 または 0 の値で回答を取得します。モデルとして使用されるこの値は、チェックボックスをチェックしません。
値はサーバーから 1 として取得されます。チェックボックスをオフにしてオンにすると、「true」に変わります
plnkr はこちら: http://plnkr.co/edit/3xcI0Yq9WPZ1IxJJjKGt?p=preview