こんにちは皆、mongodbとmd-datepickerから複数のコントローラを持つ1つのフォームを持っています($ watch)with dinamic min、angle-meteor appの最大日に問題がありますフォームを送信し、MD-オートコンプリート& MD-日付ピッカーの値を取得する:複数のコントローラを使って角型jsフォームを送信
`<form ng-controller="SubmitCtrl" style="padding-left: 120px;" ng-submit="submit()" name="Form">
<div ng-controller="datesCtrl as vm" ng-form name="DateForm" id="myDatePicker">
<md-input-content>
<md-datepicker
onkeydown="return false"
name="myDate"
ng-model="myDate"
md-hide-icons="all"
md-current-view="year"
md-min-date="ctrl.minDate"
md-max-date="ctrl.maxDate"
md-open-on-focus="true">
</md-datepicker>
</md-input-content>
{{myDate | date: "yyyy-MM-dd"}}
</div>
<div ng-controller="Nationality as vm" class="form-group" ng-form name="NationalityForm">
<md-input-content id="myDatePicker">
<md-autocomplete flex
md-input-name="NationalityField"
ng-model="NationalityField"
md-input-minlength="3"
md-no-cache="true"
md-selected-item="selectedItem"
md-search-text="searchText"
md-items="item in vm.getMatches(searchText)"
md-item-text="item.country_name"
md-floating-label="Nationality">
<md-item-template>
<span>{{item.country_name}} -</span>
<span
md-highlight-text="vm.searchText"
md-highlight-flags="^i">{{item.country_code_2_letter}}</span>
</md-item-template>
</md-autocomplete>
<p>country:{{selectedItem.country_name + selectedItem.country_code_2_letter}}</p>
</md-input-content>
`
私の値は、それぞれ別々のコントローラで利用可能で、私はCONSOLE.LOGことができます。 console.log($scope.selectedItem);
と私の提出コントローラであります:
angular.module('GntApp')
.controller('SubmitCtrl', ['$scope', function($scope) {
$scope.list = [];
$scope.submit = function(){
if ($scope.test) {
$scope.list.push(this.test);
console.log($scope.test);
}
if ($scope.myDate) {
$scope.list.push(this.myDate);
console.log($scope.$parent.myDate);
}
私もangular.elementを試してみてください、私はその間違ったを知っているが、私は読んで、私は親の子を持つ別のコントローラから値を取得する必要がありますが、私はそれのために良いドキュメントを見つけることができません。
$scope.Date = angular.element(myDatePicker);
console.log($scope.Date);
が、まだ動作していませんどんな提案や例も私の日を節約します。
即答のためのehsan88感謝@親愛なるコントローラ外であるが、私はまだ問題を抱えているフォームを送信するためのデータを取得するために、今その助け: '.controller( 'SubmitCtrl'、関数($スコープ){ $ scope.myObject = {}; $ scope.list = []; $ scope.submit =関数(){ IF($ scope.myObject.var1){ はconsole.log(myObjectという。 var1); } } ' 私は変更しましたが、エラーが発生します: ' myObjectが定義されていません ' newbyの間違いと知識の不足 –
@JohnDoeネストされた変数をチェックしている可能性があります。 '$ scope.myObject'の入力ボックスにテキストを入力していないときは' undefined'となり、 '$ scope.myObject.var1'を評価することでタイプエラーが発生することに注意してください。適切な入れ子オブジェクトチェックを行うには、この質問をチェックしてください:https://stackoverflow.com/questions/2631001/javascript-test-for-existence-of-nested-object-key – ehsan88