AngularJS フォーム
AngularJS フォームは入力コントロールの集合です。
HTML コントロール
以下の HTML input 要素は HTML コントロールと呼ばれます:
- input 要素
- select 要素
- button 要素
- textarea 要素
データバインディング
Input コントロールは ng-model ディレクティブを使用してデータバインディングを実現します。
上記のコードにより、アプリには firstname という名前のプロパティが追加されます。
これは ng-model ディレクティブによってアプリにバインドされます。
firstname プロパティはコントローラー内で使用できます:
例
試してみる »
アプリの他の場所でも使用できます:
例
試してみる »
Checkbox(チェックボックス)
checkbox の値は true または false で、ng-model ディレクティブを使用してバインドでき、その値はアプリ内で使用できます:
例
チェックボックスが選択されると h1 タグの内容が表示されます:
試してみる »
ラジオボタン
ng-model を使用してラジオボタンをアプリにバインドできます。
ラジオボタンは同じ ng-model を使用し、異なる値を持つことができますが、選択されたラジオボタンの値のみが使用されます。
例
選択されたラジオボタンに応じて情報を表示します:
試してみる »
myVar の値は dogs、tuts、または cars にできます。
ドロップダウンメニュー
ng-model ディレクティブを使用してドロップダウンメニューをアプリにバインドできます。
ng-model 属性の値は、ドロップダウンメニューで選択したオプションです:
例
選択されたドロップダウンメニューのオプションに応じて情報を表示します:
試してみる »
myVar の値は dogs、tuts、または cars にできます。
HTML フォーム
HTML フォームは通常、HTML コントロールと一緒に存在します。
AngularJS フォームの例
form = {{user}}
master = {{master}}
アプリケーションコード
試してみる »
![]() |
novalidateこの属性は HTML5 で新しく追加されました。ブラウザのデフォルト検証を無効にします。 |
|---|
例の解説
ng-appディレクティブは AngularJS アプリを定義します。
ng-controllerディレクティブはアプリのコントローラーを定義します。
ng-modelディレクティブは2つの input 要素をモデルの userオブジェクトにバインドします。
formCtrl関数はmasterオブジェクトの初期値を設定し、reset()メソッドを定義します。
reset()メソッドはuserオブジェクトをmasterオブジェクトと等しく設定します。
ng-clickディレクティブはreset()メソッドを呼び出し、ボタンがクリックされたときに呼び出します。
novalidate 属性はアプリで必須ではありませんが、標準の HTML5 検証を上書きするために AngularJS フォームで使用する必要があります。
その他の拡張