最新的Web開發教程
 

AngularJS表單


在AngularJS Forms提供的數據綁定和輸入控件的驗證。


輸入控件

輸入控制HTML輸入元素:

  • 輸入元素
  • 選擇元素
  • 按鈕元素
  • 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 = "John";
});
</script>
試一試»

它也可以被稱為應用程序中的其他地方:

<form>
First Name: <input type="text" ng-model="firstname">
</form>

<h1>You entered: {{firstname}}</h1>
試一試»

複選框

一個複選框的值是true還是false 。 應用ng-model指令一個複選框,並在應用程序中使用它的價值。

顯示標題,如果複選框被選中:

 <form>
    Check to show a header:
    <input type="checkbox" ng-model="myVar">
</form>

<h1 ng-show="myVar">My Header</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 a topic:
<select ng-model="myVar">
    <option value="">
    <option value="dogs">Dogs
    <option value="tuts">Tutorials
    <option value="cars">Cars
</select>
</form>
試一試»

myVar的值為將是要么dogstutscars


一個AngularJS形式實例

名字:

姓:


表= {{用戶}}

主= {{主}}


應用程序代碼

<div ng-app="myApp" ng-controller="formCtrl">
  <form novalidate>
    First Name:<br>
    <input type="text" ng-model="user.firstName"><br>
    Last Name:<br>
    <input type="text" ng-model="user.lastName">
    <br><br>
    <button ng-click="reset()">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: "John", lastName: "Doe"};
    $scope.reset = function() {
        $scope.user = angular.copy($scope.master);
    };
    $scope.reset();
});
</script>
試一試»
注意 novalidate屬性是HTML5中的新。 它禁止任何默認瀏覽器驗證。

例子解釋:

NG-應用程序指令定義了AngularJS應用。

吳控制器指令定義了應用程序控制器。

NG-模型指令結合兩個輸入元素到模型中的用戶對象。

formCtrl控制器設置初始值對象,並定義了reset()方法。

復位()方法設置的用戶對象等於對象。

NG-點擊指令調用reset()方法,只有當按鈕被點擊。

不需要novalidate屬性這個應用,但通常你會用它AngularJS的形式,覆蓋標準HTML5驗證。