AngularJS 양식

AngularJS 中的表单提供输入控件的数据绑定和验证。

输入控件

输入控件是 HTML 输入元素:

  • input 元素
  • select 元素
  • button 元素
  • textarea 元素

数据绑定

输入控件通过使用 ng-model 指令提供数据绑定。

<input type="text" ng-model="firstname">

现在,该应用有一个名为 firstname 的属性。

ng-model 指令将输入控制器绑定到应用程序的其余部分。

属性 firstname,可以在控制器中引用:

예제

<script>
var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {
  $scope.firstname = "Bill";
});
</script>

직접 시도해 보세요

它也可以在应用程序的其他位置被引用:

예제

<form>
  名字: <input type="text" ng-model="firstname">
</form>
<h1>您输入的是:{{firstname}}</h1>

직접 시도해 보세요

复选框

复选框的值为 truefalse。将 ng-model 指令应用于复选框,并在您的应用程序中使用其值。

예제

如果选中复选框,则显示标题:

<form>
  选中以显示标题:
  <input type="checkbox" ng-model="myVar">
</form>
<h1 ng-show="myVar">我的标题</h1>

직접 시도해 보세요

单选按钮

사용하세요 ng-model 指令将单选按钮绑定到您的应用程序。

具有相同 ng-model 的单选按钮可以有不同的值,但只会使用选定的值。

예제

根据所选单选按钮的值显示一些文本:

<form>
  Pick a topic:
  <input type="radio" ng-model="myVar" value="dogs">Dogs
  <input type="radio" ng-model="myVar" value="tuts">Tutorials
  <input type="radio" ng-model="myVar" value="cars">Cars
</form>

직접 시도해 보세요

myVar의 값은 dogstutscars

드롭다운 선택 상자

사용하세요 ng-model 지시는 드롭다운 선택 상자를 애플리케이션에 바인딩합니다。

ng-model 속성에서 정의된 속성은 선택 상자에서 선택된 옵션의 값을 가집니다。

예제

선택된 옵션 값에 따라 텍스트를 표시합니다:

<form>
  테마를 선택하세요:
  <select ng-model="myVar">
    <option value="">
    <option value="dogs">Dogs
    <option value="tuts">Tutorials
    <option value="cars">Cars
  </select>
</form>

직접 시도해 보세요

myVar의 값은 dogstutscars

AngularJS 表单示例

名字: Bill 姓氏: Gates 重置 form = {"firstName":"Bill","lastName":"Gates"} master = {"firstName":"Bill","lastName":"Gates"}

应用程序代码

<div ng-app="myApp" ng-controller="formCtrl">
  <form novalidate>
    名字:<br>
    <input type="text" ng-model="user.firstName"><br>
    姓氏:<br>
    <input type="text" ng-model="user.lastName">
    <br><br>
    <button ng-click="reset()">重置</button>
  </form>
  <p>form = {{user}}</p>
  <p>master = {{master}}</p>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {
  $scope.master = {firstName: "Bill", lastName: "Gates"};
  $scope.reset = function() {
    $scope.user = angular.copy($scope.master);
  ;
  $scope.reset();
});
</script>

직접 시도해 보세요

novalidate 속성은 HTML5에서 새로운 속성입니다. 기본 브라우저 검증을 비활성화합니다

예제 설명

ng-app 지시는 AngularJS 애플리케이션을 정의합니다

ng-controller 지시는 애플리케이션 컨트롤러를 정의합니다

ng-model 지시는 두 개의 입력 요소를 모델의 user 객체에 바인딩합니다

formCtrl 컨트롤러를 master 객체를 초기 값으로 설정하고, reset() 메서드.

reset() 메서드는 user 객체가 user에 설정됩니다 master 객체.

ng-click 지시는 버튼 클릭 시에만 호출됩니다 reset() 메서드.

이 애플리케이션은 novalidate 속성이 필요하지 않지만, 일반적으로 AngularJS 양식에서 기본 HTML5 검증을 대체하기 위해 사용됩니다.