AngularJS Forms


Formuláře v AngularJS poskytují vazbu dat a ověřování vstupních ovládacích prvků.


Vstupní ovládací prvky

Ovládací prvky vstupu jsou vstupní prvky HTML:

  • vstupní prvky
  • vybrat prvky
  • tlačítkové prvky
  • prvky textové oblasti

Data-Binding

Vstupní ovládací prvky poskytují vazbu dat pomocí ng-modelsměrnice.

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

Aplikace má nyní vlastnost s názvem firstname.

Direktiva ng-modelspojuje vstupní řadič se zbytkem vaší aplikace.

Na vlastnost firstnamelze odkazovat v ovladači:

Příklad

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

Může být také odkazováno na jiném místě aplikace:

Příklad

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

<h1>You entered: {{firstname}}</h1>


Zaškrtávací políčko

Zaškrtávací políčko má hodnotu truenebo false. Použijte ng-modeldirektivu na zaškrtávací políčko a použijte její hodnotu ve své aplikaci.

Příklad

Zobrazit záhlaví, pokud je políčko zaškrtnuté:

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

<h1 ng-show="myVar">My Header</h1>

Přepínače

Svázat přepínače s vaší aplikací pomocí ng-model směrnice.

Přepínače se stejným ng-modelmohou mít různé hodnoty, ale bude použita pouze ta vybraná.

Příklad

Zobrazte nějaký text na základě hodnoty vybraného přepínače:

<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>

Hodnota myVar bude buď dogs, tuts, nebo cars.


Výběrové pole

Svažte výběrová pole k vaší aplikaci pomocí ng-model direktivy.

Vlastnost definovaná v ng-modelatributu bude mít hodnotu vybrané možnosti ve výběrovém poli.

 Příklad

Zobrazte nějaký text na základě hodnoty vybrané možnosti:

<form>
  Select a topic:
  <select ng-model="myVar">
    <option value="">
    <option value="dogs">Dogs
    <option value="tuts">Tutorials
    <option value="cars">Cars
  </select>
</form>

Hodnota myVar bude buď dogs, tuts, nebo cars.


Příklad formuláře AngularJS

Jméno:

Příjmení:


form = {"firstName":"John","lastName":"Doe"}

master = {"firstName":"John","lastName":"Doe"}


Kód aplikace

<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>

Atribut novalidate je v HTML5 nový. Zakáže jakékoli ověření výchozího prohlížeče.


Příklad vysvětlen

Direktiva ng-app definuje aplikaci AngularJS.

Direktiva ng-controller definuje řadič aplikace.

Direktiva ng-model spojuje dva vstupní prvky s uživatelským objektem v modelu.

Ovladač formCtrl nastavuje počáteční hodnoty hlavnímu objektu a definuje metodu reset() .

Metoda reset() nastaví uživatelský objekt na stejný jako hlavní objekt.

Direktiva ng-click vyvolá metodu reset() pouze po kliknutí na tlačítko.

Atribut novalidate není pro tuto aplikaci potřeba, ale normálně ho použijete ve formulářích AngularJS k přepsání standardního ověřování HTML5.