QA@IT
«回答へ戻る

5599
 そのタイミングでモデルに値が設定されるようにすればいいでしょう。
 (個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)
 
-とりあえず簡単な例だけ挙げておきます。
+簡単な例だけ挙げておきます。
 
 ```html
 <!DOCTYPE html>

さすがにコードの部分でも無いことには現状がわかりませんので、そのあたりは考慮しないこととします。
値が取得できないのは ionicと関係なさそうに思えるので、AngularとajaxZip3の部分のみです。

ajaxZip3で値設定後getElementsbyNameで値を取得することができます。
ただし、ElementではなくElementsです。
配列でとれるので添え字が必要になります。
pref01が実際にはなにかわかりませんがテキストボックスなら

document.getElementsByName('pref01')[0].value

で取得できるでしょう。

AngularJSでng-modelでバインドしたコントロールであっても、
javascriptから直接設定した場合そのままではモデルに反映されません。

jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
modelに反映することができます。

AjaxZip3のソースを見るに onSuccessに関数を設定しておけば取得時に呼び出してくれるようなので
そのタイミングでモデルに値が設定されるようにすればいいでしょう。
(個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)

簡単な例だけ挙げておきます。

<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <meta charset="utf-8">
  <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>
  </head>
<body ng-app="app" ng-controller="ZipCtrl">

  <!-- ajaxzipのgithubページに載っていた例にモデルのバインドを足しただけ -->
  <input type="text" name="zip01" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
  <input type="text" name="pref01" size="20" ng-model="pref">
  <input type="text" name="addr01" size="60">

  <!-- モデルが更新されることを確認するためのpre -->
  <pre ng-bind="pref"></pre>

  <script type="text/javascript">
    var app=angular.module('app', []);

    app.controller('ZipCtrl', function($scope){

      // onSucess時の処理を設定しておく
      AjaxZip3.onSuccess = function(){
        angular.element(
          document.getElementsByName('pref01')[0]
        ).triggerHandler('input');
        angular.element(
          document.getElementsByName('addr01')[0]
        ).triggerHandler('input');
      };
    });    
  </script>
</body>
</html>
さすがにコードの部分でも無いことには現状がわかりませんので、そのあたりは考慮しないこととします。
値が取得できないのは ionicと関係なさそうに思えるので、AngularとajaxZip3の部分のみです。

ajaxZip3で値設定後`getElementsbyName`で値を取得することができます。
ただし、ElementではなくElementsです。
配列でとれるので添え字が必要になります。
pref01が実際にはなにかわかりませんがテキストボックスなら

```javascript
document.getElementsByName('pref01')[0].value
```
で取得できるでしょう。

AngularJSでng-modelでバインドしたコントロールであっても、
javascriptから直接設定した場合そのままではモデルに反映されません。

jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
modelに反映することができます。

AjaxZip3のソースを見るに onSuccessに関数を設定しておけば取得時に呼び出してくれるようなので
そのタイミングでモデルに値が設定されるようにすればいいでしょう。
(個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)

簡単な例だけ挙げておきます。

```html
<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <meta charset="utf-8">
  <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>
  </head>
<body ng-app="app" ng-controller="ZipCtrl">

  <!-- ajaxzipのgithubページに載っていた例にモデルのバインドを足しただけ -->
  <input type="text" name="zip01" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
  <input type="text" name="pref01" size="20" ng-model="pref">
  <input type="text" name="addr01" size="60">
  
  <!-- モデルが更新されることを確認するためのpre -->
  <pre ng-bind="pref"></pre>

  <script type="text/javascript">
    var app=angular.module('app', []);

    app.controller('ZipCtrl', function($scope){

      // onSucess時の処理を設定しておく
      AjaxZip3.onSuccess = function(){
        angular.element(
          document.getElementsByName('pref01')[0]
        ).triggerHandler('input');
        angular.element(
          document.getElementsByName('addr01')[0]
        ).triggerHandler('input');
      };
    });    
  </script>
</body>
</html>
```

5599
 jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
 modelに反映することができます。
 
-AjaxZip3のソースを見るに onSuccessに関数を設定してくれれば取得時に呼び出してくれるようなので
+AjaxZip3のソースを見るに onSuccessに関数を設定しておけば取得時に呼び出してくれるようなので
 そのタイミングでモデルに値が設定されるようにすればいいでしょう。
 (個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)
 

さすがにコードの部分でも無いことには現状がわかりませんので、そのあたりは考慮しないこととします。
値が取得できないのは ionicと関係なさそうに思えるので、AngularとajaxZip3の部分のみです。

ajaxZip3で値設定後getElementsbyNameで値を取得することができます。
ただし、ElementではなくElementsです。
配列でとれるので添え字が必要になります。
pref01が実際にはなにかわかりませんがテキストボックスなら

document.getElementsByName('pref01')[0].value

で取得できるでしょう。

AngularJSでng-modelでバインドしたコントロールであっても、
javascriptから直接設定した場合そのままではモデルに反映されません。

jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
modelに反映することができます。

AjaxZip3のソースを見るに onSuccessに関数を設定しておけば取得時に呼び出してくれるようなので
そのタイミングでモデルに値が設定されるようにすればいいでしょう。
(個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)

とりあえず簡単な例だけ挙げておきます。

<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <meta charset="utf-8">
  <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>
  </head>
<body ng-app="app" ng-controller="ZipCtrl">

  <!-- ajaxzipのgithubページに載っていた例にモデルのバインドを足しただけ -->
  <input type="text" name="zip01" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
  <input type="text" name="pref01" size="20" ng-model="pref">
  <input type="text" name="addr01" size="60">

  <!-- モデルが更新されることを確認するためのpre -->
  <pre ng-bind="pref"></pre>

  <script type="text/javascript">
    var app=angular.module('app', []);

    app.controller('ZipCtrl', function($scope){

      // onSucess時の処理を設定しておく
      AjaxZip3.onSuccess = function(){
        angular.element(
          document.getElementsByName('pref01')[0]
        ).triggerHandler('input');
        angular.element(
          document.getElementsByName('addr01')[0]
        ).triggerHandler('input');
      };
    });    
  </script>
</body>
</html>
さすがにコードの部分でも無いことには現状がわかりませんので、そのあたりは考慮しないこととします。
値が取得できないのは ionicと関係なさそうに思えるので、AngularとajaxZip3の部分のみです。

ajaxZip3で値設定後`getElementsbyName`で値を取得することができます。
ただし、ElementではなくElementsです。
配列でとれるので添え字が必要になります。
pref01が実際にはなにかわかりませんがテキストボックスなら

```javascript
document.getElementsByName('pref01')[0].value
```
で取得できるでしょう。

AngularJSでng-modelでバインドしたコントロールであっても、
javascriptから直接設定した場合そのままではモデルに反映されません。

jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
modelに反映することができます。

AjaxZip3のソースを見るに onSuccessに関数を設定しておけば取得時に呼び出してくれるようなので
そのタイミングでモデルに値が設定されるようにすればいいでしょう。
(個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)

とりあえず簡単な例だけ挙げておきます。

```html
<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <meta charset="utf-8">
  <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>
  </head>
<body ng-app="app" ng-controller="ZipCtrl">

  <!-- ajaxzipのgithubページに載っていた例にモデルのバインドを足しただけ -->
  <input type="text" name="zip01" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
  <input type="text" name="pref01" size="20" ng-model="pref">
  <input type="text" name="addr01" size="60">
  
  <!-- モデルが更新されることを確認するためのpre -->
  <pre ng-bind="pref"></pre>

  <script type="text/javascript">
    var app=angular.module('app', []);

    app.controller('ZipCtrl', function($scope){

      // onSucess時の処理を設定しておく
      AjaxZip3.onSuccess = function(){
        angular.element(
          document.getElementsByName('pref01')[0]
        ).triggerHandler('input');
        angular.element(
          document.getElementsByName('addr01')[0]
        ).triggerHandler('input');
      };
    });    
  </script>
</body>
</html>
```

5599
-さすがにコードの部分でも無いことには現状がわかりません。
+さすがにコードの部分でも無いことには現状がわかりませんので、そのあたりは考慮しないこととします。
+値が取得できないのは ionicと関係なさそうに思えるので、AngularとajaxZip3の部分のみです。
 
 ajaxZip3で値設定後`getElementsbyName`で値を取得することができます。
 ただし、ElementではなくElementsです。

さすがにコードの部分でも無いことには現状がわかりませんので、そのあたりは考慮しないこととします。
値が取得できないのは ionicと関係なさそうに思えるので、AngularとajaxZip3の部分のみです。

ajaxZip3で値設定後getElementsbyNameで値を取得することができます。
ただし、ElementではなくElementsです。
配列でとれるので添え字が必要になります。
pref01が実際にはなにかわかりませんがテキストボックスなら

document.getElementsByName('pref01')[0].value

で取得できるでしょう。

AngularJSでng-modelでバインドしたコントロールであっても、
javascriptから直接設定した場合そのままではモデルに反映されません。

jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
modelに反映することができます。

AjaxZip3のソースを見るに onSuccessに関数を設定してくれれば取得時に呼び出してくれるようなので
そのタイミングでモデルに値が設定されるようにすればいいでしょう。
(個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)

とりあえず簡単な例だけ挙げておきます。

<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <meta charset="utf-8">
  <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>
  </head>
<body ng-app="app" ng-controller="ZipCtrl">

  <!-- ajaxzipのgithubページに載っていた例にモデルのバインドを足しただけ -->
  <input type="text" name="zip01" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
  <input type="text" name="pref01" size="20" ng-model="pref">
  <input type="text" name="addr01" size="60">

  <!-- モデルが更新されることを確認するためのpre -->
  <pre ng-bind="pref"></pre>

  <script type="text/javascript">
    var app=angular.module('app', []);

    app.controller('ZipCtrl', function($scope){

      // onSucess時の処理を設定しておく
      AjaxZip3.onSuccess = function(){
        angular.element(
          document.getElementsByName('pref01')[0]
        ).triggerHandler('input');
        angular.element(
          document.getElementsByName('addr01')[0]
        ).triggerHandler('input');
      };
    });    
  </script>
</body>
</html>
さすがにコードの部分でも無いことには現状がわかりませんので、そのあたりは考慮しないこととします。
値が取得できないのは ionicと関係なさそうに思えるので、AngularとajaxZip3の部分のみです。

ajaxZip3で値設定後`getElementsbyName`で値を取得することができます。
ただし、ElementではなくElementsです。
配列でとれるので添え字が必要になります。
pref01が実際にはなにかわかりませんがテキストボックスなら

```javascript
document.getElementsByName('pref01')[0].value
```
で取得できるでしょう。

AngularJSでng-modelでバインドしたコントロールであっても、
javascriptから直接設定した場合そのままではモデルに反映されません。

jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
modelに反映することができます。

AjaxZip3のソースを見るに onSuccessに関数を設定してくれれば取得時に呼び出してくれるようなので
そのタイミングでモデルに値が設定されるようにすればいいでしょう。
(個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)

とりあえず簡単な例だけ挙げておきます。

```html
<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <meta charset="utf-8">
  <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>
  </head>
<body ng-app="app" ng-controller="ZipCtrl">

  <!-- ajaxzipのgithubページに載っていた例にモデルのバインドを足しただけ -->
  <input type="text" name="zip01" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
  <input type="text" name="pref01" size="20" ng-model="pref">
  <input type="text" name="addr01" size="60">
  
  <!-- モデルが更新されることを確認するためのpre -->
  <pre ng-bind="pref"></pre>

  <script type="text/javascript">
    var app=angular.module('app', []);

    app.controller('ZipCtrl', function($scope){

      // onSucess時の処理を設定しておく
      AjaxZip3.onSuccess = function(){
        angular.element(
          document.getElementsByName('pref01')[0]
        ).triggerHandler('input');
        angular.element(
          document.getElementsByName('addr01')[0]
        ).triggerHandler('input');
      };
    });    
  </script>
</body>
</html>
```

回答を投稿

さすがにコードの部分でも無いことには現状がわかりません。

ajaxZip3で値設定後getElementsbyNameで値を取得することができます。
ただし、ElementではなくElementsです。
配列でとれるので添え字が必要になります。
pref01が実際にはなにかわかりませんがテキストボックスなら

document.getElementsByName('pref01')[0].value

で取得できるでしょう。

AngularJSでng-modelでバインドしたコントロールであっても、
javascriptから直接設定した場合そのままではモデルに反映されません。

jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
modelに反映することができます。

AjaxZip3のソースを見るに onSuccessに関数を設定してくれれば取得時に呼び出してくれるようなので
そのタイミングでモデルに値が設定されるようにすればいいでしょう。
(個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)

とりあえず簡単な例だけ挙げておきます。

<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <meta charset="utf-8">
  <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>
  </head>
<body ng-app="app" ng-controller="ZipCtrl">

  <!-- ajaxzipのgithubページに載っていた例にモデルのバインドを足しただけ -->
  <input type="text" name="zip01" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
  <input type="text" name="pref01" size="20" ng-model="pref">
  <input type="text" name="addr01" size="60">

  <!-- モデルが更新されることを確認するためのpre -->
  <pre ng-bind="pref"></pre>

  <script type="text/javascript">
    var app=angular.module('app', []);

    app.controller('ZipCtrl', function($scope){

      // onSucess時の処理を設定しておく
      AjaxZip3.onSuccess = function(){
        angular.element(
          document.getElementsByName('pref01')[0]
        ).triggerHandler('input');
        angular.element(
          document.getElementsByName('addr01')[0]
        ).triggerHandler('input');
      };
    });    
  </script>
</body>
</html>
さすがにコードの部分でも無いことには現状がわかりません。

ajaxZip3で値設定後`getElementsbyName`で値を取得することができます。
ただし、ElementではなくElementsです。
配列でとれるので添え字が必要になります。
pref01が実際にはなにかわかりませんがテキストボックスなら

```javascript
document.getElementsByName('pref01')[0].value
```
で取得できるでしょう。

AngularJSでng-modelでバインドしたコントロールであっても、
javascriptから直接設定した場合そのままではモデルに反映されません。

jqLiteのtriggerHandlerやjqueryのtriggerを使って入力イベントを発生させることで、
modelに反映することができます。

AjaxZip3のソースを見るに onSuccessに関数を設定してくれれば取得時に呼び出してくれるようなので
そのタイミングでモデルに値が設定されるようにすればいいでしょう。
(個人的な好みでは、callback渡せるかpromise使えるともっと便利になりそうですね、このライブラリ)

とりあえず簡単な例だけ挙げておきます。

```html
<!DOCTYPE html>
<html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
  <meta charset="utf-8">
  <script src="https://ajaxzip3.github.io/ajaxzip3.js" charset="UTF-8"></script>
  </head>
<body ng-app="app" ng-controller="ZipCtrl">

  <!-- ajaxzipのgithubページに載っていた例にモデルのバインドを足しただけ -->
  <input type="text" name="zip01" size="10" maxlength="8" onKeyUp="AjaxZip3.zip2addr(this,'','pref01','addr01');">
  <input type="text" name="pref01" size="20" ng-model="pref">
  <input type="text" name="addr01" size="60">
  
  <!-- モデルが更新されることを確認するためのpre -->
  <pre ng-bind="pref"></pre>

  <script type="text/javascript">
    var app=angular.module('app', []);

    app.controller('ZipCtrl', function($scope){

      // onSucess時の処理を設定しておく
      AjaxZip3.onSuccess = function(){
        angular.element(
          document.getElementsByName('pref01')[0]
        ).triggerHandler('input');
        angular.element(
          document.getElementsByName('addr01')[0]
        ).triggerHandler('input');
      };
    });    
  </script>
</body>
</html>
```