【发布时间】:2017-01-03 22:08:19
【问题描述】:
我基本上想要像this example at W3Schools这样的功能
<form action="demo_form.asp" method="get">
Choose your favorite subject:
<button name="subject" type="submit" value="fav_HTML">HTML</button>
<button name="subject" type="submit" value="fav_CSS">CSS</button>
</form>
除了在 Angular 中,如果用户单击任一按钮,我可以在我的控制器中查看他是否单击了 HTML 或 CSS 按钮。
到目前为止我尝试过的是这个(查看我的版本,看看用户是否点击了agree 或decline)
<form name="agrCtrl.agreement" ng-submit="agrCtrl.submit()">
<button class="form-control btn btn-primary" type="submit" value="agree">
Agree
</button>
<button class="form-control btn btn-primary" type="submit" value="decline">
Decline
</button>
</form>
和控制器
'use strict';
angular.module('app')
.controller('AgreementController', AgreementController);
function AgreementController() {
var agrCtrl = this;
agrCtrl.submit = submit;
//////////
function submit() {
console.log(agrCtrl.agreement);
}
}
但是,当我记录 agrCtrl.agreement 时,我找不到任何指向 value 属性的 agree 或 decline 值的内容。
我也试过把它改成ng-value 对这个测试没有影响。
我也知道我可以跳过表单,只在任一按钮上使用ng-click,我想我会这样做,但我仍然认为这提出了一个有趣的问题,因为根据 W3Schools 示例,这看起来是可能的。
【问题讨论】:
-
在每个按钮上都有
ng-click,在控制器范围内设置一些值。ng-click="this.btn = 'agree'",但不记得该语法是否有效。 -
谢谢,但我在上一段中已经说过我知道这是可能的,但想看看其他方法是否可行(我要问的那个)
标签: javascript html angularjs forms