最新的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验证。