Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

AngularJS 表单


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


输入控件

输入控件是 HTML 输入元素

  • 输入元素
  • 选择元素
  • 按钮元素
  • 文本区域元素

数据绑定

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

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

现在应用程序有一个名为 firstname 的属性。

The ng-model directive binds the input controller to the rest of your application.

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

示例

<script>
var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {
  $scope.firstname = "John";
});
</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>
  选择一个主题
  <input type="radio" ng-model="myVar" value="dogs">狗
  <input type="radio" ng-model="myVar" value="tuts">教程
  <input type="radio" ng-model="myVar" value="cars">汽车
</form>
尝试一下 »

myVar 的值将是 dogstutscars


下拉框

使用 ng-model 指令将下拉框绑定到你的应用程序。

ng-model 属性中定义的属性将具有下拉框中所选选项的值。

 示例

根据选定的选项的值显示一些文本

<form>
  选择一个主题
  <select ng-model="myVar">
    <option value="">
    <option value="dogs">狗
    <option value="tuts">教程
    <option value="cars">汽车
  </select>
</form>
尝试一下 »

myVar 的值将是 dogstutscars


一个 AngularJS 表单示例

姓氏

名字


form = {{user}}

master = {{master}}


应用程序代码

<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: "John", lastName: "Doe"};
  $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 对象设置为等于 master 对象。

ng-click 指令仅在按钮被点击时调用 reset() 方法。

novalidate 属性对于这个应用程序来说不是必需的,但通常你会在 AngularJS 表单中使用它,以覆盖标准的 HTML5 验证。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.