[英]ng-submit doesn't fire anything in form
我有一個基本問題,我不明白為什么它不起作用
<div class="footer">
<div class="row writing">
<p>{{slogan}}</p>
</div>
{{send()}} //check if the function is there
<div class="container">
<form name="userForm" ng-submit="send()" novalidate>
<div class="form-group col-md-6">
<ng-form name="userMail">
<input name="mail" type="email" ng-model="varmail" class="form-control" placeholder="Your mail" required>
<!--<p class="help-block" ng-show="userMail.mail.$invalid">Valid Email Required</p>-->
</ng-form>
</div>
<div class="form-group col-md-6">
<ng-form name="userMarket">
<input type="text" ng-model="varmarket" class="form-control" placeholder="huhu"
required>
</ng-form>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary flat-butt">{{butLabel}}</button>
</div>
</form>
</div>
</div>
因此,我可以看到該函數存在,但是ng-submit不會觸發任何操作。 請注意,這是隔離的作用域,並且函數已成功傳遞。
謝謝。
更新:我在這里創建了一個Plunk,它也不起作用http://plnkr.co/edit/CULSC4ajGfid25sEaT34?p=preview
您發布的代碼(功能上)沒有任何問題。
ngForm
指令的send
函數,它在范圍內。 <form>
標簽,這些標簽使您使用“提交”按鈕定位的表單變得模糊。 如果您使用的是嵌套控制器,請嘗試使用“ controller as”語法,以便避免從由每個控制器創建的$ scope中訪問函數和變量。
另外,我看不到為什么表單中的輸入周圍會有多余的ngForm
指令。 從您發布的內容來看,它似乎沒有必要。
這是您的代碼正常工作:
// app.js (function() { 'use strict'; angular.module('app', []); })(); // main.controller.js (function() { 'use strict'; angular.module('app').controller('MainController', MainController); MainController.$inject = ['$scope']; function MainController($scope) { $scope.butLabel = "Submit"; $scope.send = send; function send() { alert("Triggered!"); } } })();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div class="footer" ng-app="app" ng-controller="MainController as MainCtrl"> <div class="row writing"> <p>{{slogan}}</p> </div> <div class="container"> <form name="userForm" ng-submit="send()" novalidate> <div class="form-group col-md-6"> <ng-form name="userMail"> <input name="mail" type="email" ng-model="varmail" class="form-control" placeholder="Your mail" required> <!--<p class="help-block" ng-show="userMail.mail.$invalid">Valid Email Required</p>--> </ng-form> </div> <div class="form-group col-md-6"> <ng-form name="userMarket"> <input type="text" ng-model="varmarket" class="form-control" placeholder="Your favorite super-market (Franprix, Carrefour,...)" required> </ng-form> </div> <div class="form-group"> <button type="submit" class="btn btn-primary flat-butt">{{butLabel}}</button> </div> </form> </div> </div>
所以我找到了,當我傳入函數時,我應該使用“ sendInfo()”,而不是“ sendInfo”。
謝謝大家 !
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.