AngularJS表單詳解及範例程式碼_AngularJS

來源:互聯網
上載者:User

AngularJS提供豐富填寫表單和驗證。我們可以用ng-click來處理AngularJS點擊按鈕事件,然後使用 $dirty 和 $invalid標誌做驗證的方式。使用novalidate表單聲明禁止任何瀏覽器特定的驗證。表單控制項使用了大量的角活動。讓我們快速探索一下有關事件先。

事件

AngularJS提供可與HTML控制項相關聯的多個事件。例如ng-click通常與按鈕相關聯。以下是AngularJS支援的事件。

ng-click

ng-dbl-click

ng-mousedown

ng-mouseup

ng-mouseenter

ng-mouseleave

ng-mousemove

ng-mouseover

ng-keydown

ng-keyup

ng-keypress

ng-change

ng-click

使用點擊一個按鈕的指令,表單重設資料。

<input name="firstname" type="text" ng-model="firstName" required><input name="lastname" type="text" ng-model="lastName" required><input name="email" type="email" ng-model="email" required><button ng-click="reset()">Reset</button><script>  function studentController($scope) {    $scope.reset = function(){     $scope.firstName = "Mahesh";     $scope.lastName = "Parashar";     $scope.email = "MaheshParashar@yiibai.com"; }    $scope.reset();}</script>

驗證資料

可使用下面跟蹤誤差。

$dirty - 規定值已被改變。

$invalid- 該值的狀態是無效的。

$error- 指出確切的錯誤。

例子

下面的例子將展示上述所有指令。

testAngularJS.html

<html><head><title>Angular JS Forms</title><style>table, th , td { border: 1px solid grey; border-collapse: collapse; padding: 5px;}table tr:nth-child(odd) { background-color: #f2f2f2;}table tr:nth-child(even) { background-color: #ffffff;}</style></head><body><h2>AngularJS Sample Application</h2><div ng-app="" ng-controller="studentController"><form name="studentForm" novalidate><table border="0"><tr><td>Enter first name:</td><td><input name="firstname" type="text" ng-model="firstName" required>  <span style="color:red" ng-show="studentForm.firstname.$dirty && studentForm.firstname.$invalid">   <span ng-show="studentForm.firstname.$error.required">First Name is required.</span>  </span></td></tr><tr><td>Enter last name: </td><td><input name="lastname" type="text" ng-model="lastName" required>  <span style="color:red" ng-show="studentForm.lastname.$dirty && studentForm.lastname.$invalid">   <span ng-show="studentForm.lastname.$error.required">Last Name is required.</span>  </span></td></tr><tr><td>Email: </td><td><input name="email" type="email" ng-model="email" length="100" required><span style="color:red" ng-show="studentForm.email.$dirty && studentForm.email.$invalid">   <span ng-show="studentForm.email.$error.required">Email is required.</span> <span ng-show="studentForm.email.$error.email">Invalid email address.</span>  </span></td></tr><tr><td><button ng-click="reset()">Reset</button></td><td><button ng-disabled="studentForm.firstname.$dirty && studentForm.firstname.$invalid || studentForm.lastname.$dirty && studentForm.lastname.$invalid || studentForm.email.$dirty && studentForm.email.$invalid"ng-click="submit()">Submit</button></td></tr></table></form></div><script>function studentController($scope) {   $scope.reset = function(){$scope.firstName = "Mahesh";$scope.lastName = "Parashar";$scope.email = "MaheshParashar@yiibai.com";  }    $scope.reset();}</script><script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script></body></html>

輸出

在Web瀏覽器開啟textAngularJS.html。看到結果如下。

以上就是AngularJS表單的知識整理,後續繼續補充相關知識,謝謝大家對本站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.