我有这样的表格:
<form>
<select class="browser-default" ng-model="TAV">
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
</select>
<select class="browser-default" ng-model="COP">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
</select>
<button class="btn-large modal-action waves-effect" ng-click="creaCOM('AMA')">AMARANTA</button>
<button class="btn-large modal-action waves-effect" ng-click="creaCOM('FED')">FEDERICO</button>
</form>
这是我的控制者:
$scope.creaCOM = function(came) {
var c = came;
$http.post('/gest/include/inserisci_comanda.asp?came='+c+'&COP='+$scope.COP+'&TAV='+$scope.TAV)
.success(function(){....})
.error(function(){....})
};
为什么表单不发送任何值(ng-click调用的c值除外)。 我想用按钮发送表格!
答案 0 :(得分:0)
您应该将creaCOM
函数绑定到<form>
元素的ng-submit属性,例如:
<form
ng-submit="creaCOM()">
...
</form>
此外,不要尝试通过函数参数传递表单值。使用定义的ng模型变量。在你的情况下,我会这样做:
<form ng-submit="creaCOM()">
<select class="browser-default" ng-model="TAV">
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
</select>
<select class="browser-default" ng-model="COP">
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
</select>
<select class="browser-default" ng-model="CAME">
<option value="AMA">Amaranta</option>
<option value="FED">Federico</option>
</select>
<button class="btn-large modal-action waves-effect" type="submit">Submit</button>
</form>
在控制器中(我做了一些更改,尊重你调用POST方法):
$scope.creaCOM = function () {
var postObj = {
came: $scope.CAME,
COP: $scope.COP,
TAV: $scope.TAV
};
$http.post('/gest/include/inserisci_comanda.asp', postObj).
success(function(data, status, headers, config) {
...
}).
error(function(data, status, headers, config) {
...
});
};
这只是代码草案和我身边的提示。
答案 1 :(得分:0)
好的,我解决了。所以:
<button class="btn-large modal-action waves-effect" ng-click="creaCOM(reg.COP,'AMA')">AMARANTA</button>
<button class="btn-large modal-action waves-effect" ng-click="creaCOM(reg.COP,'FED')">FEDERICO</button>
然后设置此控制器:
$scope.creaCOM = function(cop, cam) {....}
这很好用
答案 2 :(得分:-1)
是否在控制器中声明了TAV和COP的范围值? Normall,POST方法仅在表单提交中调用,它将所有数据发布到URL。