9
我正嘗試使用angular-ui設置表單驗證。我想在提交之前檢查表單是否有效,所以我建立了一個ng-submit事件處理程序。即使未提交,AngularJS ng-submit事件處理程序也會被調用
但在實現任何驗證之前,我發現即使沒有提交表單,也會調用事件處理函數。
<div ng-app="app">
<div ng-controller="ctrl">
<form name="myForm" ng-submit="sub()" novalidate>
<div ng-repeat="item in items">
<ng-form name="row">
<input type="text" name="value" ng-model="item.value" required />
</ng-form>
</div>
<button ng-click="addItem()">Add Item</button>
<input type="submit" value="Submit"/>
</form>
</div>
</div>
和JS:
var app = angular.module('app', ['ng']);
app.controller('ctrl', ['$scope', function($scope) {
$scope.items = [];
$scope.addItem = function() {
$scope.items.push({ value: $scope.items.length });
};
$scope.sub = function() {
alert("submitted?");
};
}]);
見我的小提琴這裏:
這是應該在下面的例子中,當我點擊Add Item按鈕它被調用即將發生?對我來說似乎是錯誤的,ng-submit不只是在表單提交時被解僱......我做錯了什麼?
這是正確的。 「'沒有指定type屬性的button元素表示與type屬性設置爲」submit「的按鈕元素相同的東西''」 – Tom
哦,親愛的,多麼尷尬!我一味地認爲問題出在Angular上。感謝您指出了這一點! –
鏈接到@湯姆參考HTML規範http://www.w3.org/TR/html-markup/button.html。 – KhalilRavanna