AngularJS 表单

Rekomendasyon ng Kurso:

Ang form ng AngularJS ay nagbibigay ng data binding at validation sa input control.

Input control

  • Ang input control ay HTML input element:
  • input element
  • select element
  • button element

textarea element

data binding ng-model Ang input control ay ginagamit sa pamamagitan ng

Ang utos ay nagbibigay ng data binding.

<input type="text" ng-model="firstname"> property Ngayon, ang aplikasyon ay may isang pangalan na

ng-model property

Ang utos ay magbabind ng input controller sa ibang bahagi ng aplikasyon. propertyMaaari rin itong maging binilang sa

实例

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

亲自试一试

Maaari rin itong maging binilang sa ibang lugar ng aplikasyon:

实例

<form>
  Pangalan: <input type="text" ng-model="firstname">
</form>
<h1>Binigay mo ang hinihiling na: {{firstname}}</h1>

亲自试一试

Check box

Ang halaga ng check box ay maliit na salitang may halagamaliit na salitang walang halagaMagpakita ng ng-model Ang utos ay ginagamit sa check box, at gagamitin ang halagang iyon sa iyong aplikasyon.

实例

Kung pinili ang check box, ipakita ang pamagat:

<form>
  Piliin upang ipakita ang pamagat:
  <input type="checkbox" ng-model="myVar">
</form>
<h1 ng-show="myVar">Aking pamagat</h1>

亲自试一试

Radikal na buton

使用 ng-model Ang utos ay magbabind ng radikal na buton sa iyong aplikasyon.

Mayroon ang parehong ng-model Ang radikal na buton ay may iba't ibang halaga, ngunit gagamitin lamang ang piniling halaga.

实例

Ipakita ang teksto base sa halaga ng piniling radikal na buton:

<form>
  Pumili ng isang paksa:
  <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 表单示例

名字: 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();
});

亲自试一试

novalidate 属性是 HTML5 中的新属性。它禁用任何默认浏览器验证。

Example Explained

ng-app 指令定义 AngularJS 应用程序。

ng-controller 指令定义应用程序控制器。

ng-model 指令将两个输入元素绑定到模型中的 user 对象。

formCtrl 控制器为 master 对象设置初始值,并定义 reset() 方法。

reset() 方法将 user 对象设置为等于 master 对象。

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

此应用程序不需要 novalidate 属性,但通常您会在 AngularJS 表单中使用它,以覆盖标准 HTML5 验证。