を送信、私はそれがnull来れば、それだけで機能を実行いけない、私はパラメータを受け取るAngularCtrlを持っている:角度コントローラの原因到達不能機能からヌルパラメータ
HTML:
<button type="submit" class="btn blue" ng-click="insertar();">Accept</button>
角度コントローラあなたが見ることができるように
$scope.catalogoPadre = $stateParams.catalogopadre;
if ($scope.catalogoPadre != null) {
cargarCatalogo();
}
function cargarCatalogo() {
apiService.get("../../api/Catalogo/GetCatalogoPadre/" + $scope.Catalogo + "/", null,
function (res) {
$scope.Catalogos = res.data;
$scope.selected = $scope.Catalogos[0];
inicial
$scope.filtro($scope.selected);
}, errorCatalogo);
cargarCatalogo
は、私は私はそれが正しく実行さcargarCatalogo()
機能に入る$scope.selected.ID
を含むすべてのパラメータを送信する場合、insertar
機能(つまり、ビューのng-click
にある)を実行しようとすると、select
問題がある移入単純なクエリであるが、 $scope.selected.ID
せずに実行したいのであれば、私はdebbugクロームコンソールでinsertar
の機能に達しません。
角度コントローラー第二部が間違っている可能性が何
$scope.filtro = function (selected) {
$scope.selectedID = selected.ID;
$scope.insertar = insertar;
function insertar() {
if ($scope.catalogoid != null) {
var url = "../../api/Catalogo/UpdateCatalogoRegistro/" + $scope.Codigo + "/" + $scope.Nombre + "/" + $scope.catalogoid + "/" + $scope.Catalogo;
if ($scope.selected.ID != null) {
url = url + "/" + $scope.selected.ID;
}
apiService.post(url , null,
function (response) {
bootbox.alert("Operación Exitosa!");
$state.go("root.catalogosgenericos");
},
function (response) {
}
});
}
?なぜ私は私が検証
if ($scope.selected.ID != null) {
url = url + "/" + $scope.selected.ID;
}
よろしくを持っている場合は、すべての偶然にを送っていけない場合$scope.insertar = insertar;
が実行'dont
更新:
私はalphapilgrimコメントとしてコードを変更しますが、それはまだ火にinsertar
アクション時にいけません
$scope.selected.ID
がnull
コードが来ます
function cargarCatalogo() { apiService.get("../../api/Catalogo/GetCatalogoPadre/" + $scope.Catalogo + "/", null, function (res) { . $scope.Catalogos = res.data; $scope.selected = $scope.Catalogos[0]; $scope.filtro($scope.selected); }, errorCatalogo); $scope.filtro = function (selected) { $scope.selectedID = selected.ID; $scope.insertar = function() { $scope.selectedID = selected.ID; if ($scope.catalogoid != null) { var url = "../../api/Catalogo/UpdateCatalogoRegistro/" + $scope.Codigo + "/" + $scope.Nombre + "/" + $scope.catalogoid + "/" + $scope.Catalogo; if ($scope.selected.ID != null) { url = url + "/" + $scope.selected.ID; } apiService.post(url, null, function(response) { bootbox.alert("Operación Exitosa!"); $state.go("root.catalogosgenericos"); }, function(response) { if (response.status == "500") { window.location = "/"; } else { bootbox.alert(response.status + " " + response.statusText + "<br/>" + response.data.errores); } }); }
全体のHTML
<div class="page-head">
<div class="page-title">
<h1>
Catálogos Genéricos
<small>Nuevo Registro de: {{tipoCatalogo}}</small>
</h1>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!-- BEGIN Portlet PORTLET-->
<div class="portlet box blue">
<div class="portlet-title">
<div class="caption">
Catálogos
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""> </a>
<!-- <a href="javascript:;" class="reload" data-original-title="" title=""> </a>-->
<a href="javascript:;" class="fullscreen" data-original-title="" title=""> </a>
</div>
</div>
<div class="portlet-body">
<!-- PITE - INICIA TABS -->
<div class="row">
<div class="col-md-12">
<!-- BEGIN Portlet PORTLET-->
<div class="portlet box red">
<div class="portlet-title">
<div class="caption" id="tab_titulo">
Nuevo registro de: {{tipoCatalogo}}
</div>
<div class="tools">
<a href="javascript:;" class="collapse"> </a>
<a href="javascript:;" class="reload" ng-click="fill(conductor.ID); actualizardoctos();"> </a>
<a href="javascript:;" class="fullscreen"> </a>
</div>
</div>
<div class="portlet-body">
<div class="tab-content">
<div class="tab-pane fade active in" id="tab_2_1">
<div class="form-group">
<form id="detalle" name="detalle">
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-4">
<div class="form-group">
<label> Código: </label>
<input type="text" class="form-control" id="Codigo" name="Codigo" ng-model="Codigo" maxlength="3" required/>
<span ng-show="detalle.Codigo.$error.maxlength || detalle.Codigo.length" class="required">El Código debe contener 3 caracteres</span>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-4">
<div class="form-group">
<label> Nombre: </label>
<input type="text" class="form-control" id="Nombre" name="Nombre" ng-model="Nombre" maxlength="255" required />
</div>
</div>
<div class="col-xs-12 col-sm-4 col-md-4">
<div class="form-group" ng-init="cargarCatalogo()">
<label ng-hide="Catalogos.length==0">Catalogo Padre: </label>
<select class="form-control" ng-hide="Catalogos.length==0" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>
<br />
</div>
</div>
</div>
<hr width="100%" style="color: #2F353B;">
<div class="form-actions">
<div class="row">
<div class="text-right col-md-12">
<button type="submit" class="btn blue" ng-click="insertar();">Aceptar</button>
<button type="button" class="btn default" ng-click="regresar();">Cancelar</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div ui-view> </div>
あなたはfiltroの内側insertarを持って、そしてあなたのつもりが、ビューにそれを使用する場合、なぜスコープ機能insetarしません。 – alphapilgrim
私はそれをどうすればいいのか説明できますか?私は本当にJavascriptとAngularに悩まされています。それは私の特典ではありません:/あなたは '$ scope.insertar = insertar; 'をろ過器の外に使うようなことを言っていますか?@alphapilgrim – Ledwing