AngularJS 表单

AngularJS 表单是输入控件的集合

HTML 控件

下面几种 HTML input 元素被称为 HTML 控件

  1. input 元素
  2. select 元素
  3. button 元素
  4. textarea 元素

数据绑定

HTML input 控件使用 ng-model 指令来实现数据绑定

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

通过 ng-model 上面的应用有了一个 name 的属性

name 属性可以在 controller 中使用

var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope)
{
    $scope.name = "李白";
});

运行范例 »

name 属性也可以在应用的其它地方使用

<div ng-app="myApp" ng-controller="formCtrl">
  <form>
    Name: <input type="text" ng-model="name">
  </form>
  <h1>You entered: {{name}}</h1>
</div>

运行范例 »

Checkbox(复选框)

checkbox 的值为 true 或 false,可以使用 ng-model 指令绑定

<form>
    <label>是否显示标题<input type="checkbox" ng-model="myVar"></label>
</form>
<h1 ng-show="myVar">简单教程,简单编程</h1>

运行范例 »

单选框

单选框使用同一个 ng-model ,可以有不同的值,但只有被选中的单选按钮的值会被使用。

<form>
    选择一个选项
    <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 的值可以是 dogs, tuts, 或 cars

下拉菜单

ng-model 属性的值为下拉菜单选中的选项

<form>
选择一个选项
<select ng-model="myVar">
    <option value=""></option>
    <option value="dogs">Dogs</option>
    <option value="tuts">Tutorials</option>
    <option value="cars">Cars</option>
</select>
</form>

运行范例 »

myVar 的值可以是 dogs, tuts, 或 cars

HTML 表单

HTML 表单通常与 HTML 控件同时存在

姓:

名:


form = {{user}}

master = {{master}}

上面的演示代码如下

<div ng-app="myEx" ng-controller="ExampleController">
  <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()">RESET</button>
  </form>
  <p>form = {{user}}</p>
  <p>master = {{master}}</p>
</div>
<footer>简单教程,简单编程<br/>Copyright © 简单教程 www.twle.cn</footer>
<script>
angular.module('myEx', []).controller('ExampleController', function($scope) {
    $scope.master = {"firstName":"李","lastName":"白"};
    $scope.reset = function() {
        $scope.user = angular.copy($scope.master);
    };
    $scope.reset();
});
</script>

运行范例 »

novalidate 属性是在 HTML5 中新增的,用于禁用浏览器的默认验证

代码解析

ng-app 指令定义了 AngularJS 应用

ng-controller 指令定义了应用控制器

ng-model 指令绑定了两个 input 元素到模型的 user 对象

formCtrl 函数设置了 master 对象的初始值,并定义了 reset() 方法

reset() 方法设置了 user 对象等于 master 对象

ng-click 指令调用了 reset() 方法,且在点击按钮时调用

novalidate 属性在应用中不是必须的,但常用于 AngularJS 表单中,用于重写标准的 HTML5 验证

学习 AngularJS

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.