teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

誤字、タグ修正

2020/11/17 10:52

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 【PHP、AugularJS】想定する値が画面にセットできない。
1
+ 【PHP】想定する値が
body CHANGED
@@ -1,186 +1,19 @@
1
1
  ### 前提・実現したいこと
2
- 以下2パターンにおいて、編集画面の特定項目(AAAA項目とします)に想定する値をセットしたい。
2
+ 編集画面の特定項目(AAAA項目とします)に想定する値をセットしたい。
3
- ```
4
- ①参照画面→編集画面
5
- ②編集画面→子画面→編集画面
6
- ```
7
3
 
4
+
8
5
  ### 発生している問題・エラーメッセージ
9
6
  編集画面における特定の項目(AAAA項目)に想定する値がにセットできない。
10
- 一方ができて、一方ができないという状況です。
11
7
 
8
+
12
9
  ### 該当のソースコード
13
-
14
- ```HTML
15
- 参照画面
16
- ※編集ボタン押下で編集画面に遷移
17
-
18
- <div class="scrolling content">
19
- <table class="ui definition table">
20
- <thead></thead>
21
- <tbody>
22
- <tr>
23
- <td>職場氏名</td>
24
- <td>{{result.PERSON_NM}}</td>
25
- </tr>
26
- <tr>
27
- <td>所属</td>
28
- <!-- <td><span class="ui medium text" ng-bind="orgNm"></span></td> -->
29
- <td ng-bind="result.ORG_NM"></td>
30
- </tr>
31
- </tbody>
32
- </table>
33
- </div>
34
- <div class="actions">
35
- <div class="ui blue button" ng-click="fwd(6, personMstId)"> 編 集 </div>
36
- </div>
37
-
38
- ※fwdはパラメーターを渡して、fwdToでcontrollerを呼び出しています。
39
- ```
40
- ```HTML
41
- 編集画面
42
- ※選択ボタン押下で子画面に遷移
43
-
44
- <?php
45
- session_start();
46
- require_once(dirname(__FILE__) . "/../../../common/constant.php");
47
- $initData = $_POST[Constant::RESULT_OBJ_KEY_INIT];
48
- ?>
49
- <!DOCTYPE html>
50
- <html lang="ja" ng-app="XX">
51
- <head>
52
- <meta charset="utf-8">
53
- <script>
54
- var INIT_DATA = JSON.parse('<?php echo $initData; ?>');
55
- </script>
56
- </head>
57
- <body ng-controller="XX">
58
- <?php require_once(dirname(__FILE__) . "/../../../common/view/common.html"); ?>
59
- <?php require_once(dirname(__FILE__) . "/../../../common/view/header.html"); ?>
60
- <div class="ui main container">
61
- <div class="column">
62
- <form class="ui form main">
63
- <div class="required field">
64
- <label>職場氏名</label>
65
- <div class="two fields">
66
- <div class="field">
67
- <input type="text" name="personNmSei" id="personNmSei" maxlength="120">
68
- </div>
69
- <div class="field">
70
- <input type="text" name="personNmMei" id="personNmMei" maxlength="120">
71
- </div>
72
- </div>
73
- </div>
74
- <div class="required field">
75
- <label>AAAA</label>
76
- <div class="ui labeled button">
77
- <div class="ui button" ng-click="showSearchOrg()">選択</div>
78
- <input type="text" name="orgNm" id="orgNm" class="orgNm" ng-model="orgNm" readonly>
79
- <input type="text" name="orgId" id="orgId" ng-value="orgId" />
80
- <input type="text" name="companyId" id="companyId" ng-value="companyId" />
81
- </div>
82
- </div>
83
- <div class="div-button">
84
- <div class="ui small blue button" ng-click="regist()"><?php echo $mode == 0 ? " 登 録 " : " 次 へ " ?></div>
85
- <?php } ?>
86
- <div class="ui small blue button" ng-click="backBtnClick()"> 戻 る </div>
87
- </div>
88
- </form>
89
- </div>
90
- </div>
91
-
92
- ■■■■■■■■同HTMLですが、以下子画面の処理です(上部ng-click="showSearchOrg()で呼び出し)■■■■■■■■
93
- ※ng-click="selectOrgで画面戻し
94
-
95
- <div class="ui modal org">
96
- <i class="close icon"></i>
97
- <div class="header">配属先選択</div>
98
- <div class="content">
99
- <form class="ui form">
100
- <div class="field">
101
- <div class="two fields">
102
- <div class="field">
103
- <label>会社</label>
104
- <div class="ui selection dropdown standard searchOrgId">
105
- <input type="hidden" name=searchOrgId />
106
- <i class="dropdown icon"></i>
107
- <div class="default text"></div>
108
- <div class="menu">
109
- <div class="item" ng-repeat="data in company" data-value="{{data.ORG_ID}}">{{data.ORG_NM}}</div>
110
- </div>
111
- </div>
112
- </div>
113
- <div class="field">
114
- <label>組織名</label>
115
- <input type="text" name="searcyOrgNm" ng-model="searcyOrgNm" maxlength="120">
116
- </div>
117
- </div>
118
- </div>
119
- <div class="div-button">
120
- <div class="ui small blue button" ng-click="searchOrg()"> 検 索 </div>
121
- </div>
122
- </form>
123
- <div class="ui header">検索結果</div>
124
- </div>
125
- <div class="scrolling content">
126
- <table class="ui selectable celled table">
127
- <thead>
128
- <tr>
129
- <th>組織ID</th>
130
- <th>組織名</th>
131
- </tr>
132
- </thead>
133
- <tbody>
134
- <tr ng-repeat="data in org" ng-click="selectOrg(data.ORG_ID, data.ORG_NM, data.COMPANY_ID)">
135
- <td><a href="#">{{data.ORG_ID}}</a></td>
136
- <td><a href="#">{{data.ORG_NM}}</a></td>
137
- </tr>
138
- </tbody>
139
- </table>
140
- </div>
141
- </div>
142
- </body>
143
- </html>
144
- ```
145
10
  ```JS
146
- $scope.searchOrg = function() {
11
+ $scope.search= function() {
147
- post("SEARCH_ORG", function(result) {
148
- if ("00" == result.RESULT_CD) {
149
- $scope.org = result.ORG_ARY;
150
- $scope.$apply();
151
- } else if ("99" == result.RESULT_CD) {
152
- showErrorDialog(result.ERROR_MSG, null);
153
- }
154
- return result;
155
- });
156
- }
157
12
 
158
- $scope.selectOrg = function(orgId, orgNm, companyId) {
159
- $scope.orgId = orgId;
160
- $scope.orgNm = orgNm;
161
- $scope.companyId = companyId;
162
- $(".ui.modal.org").modal('hide');
163
- setTimeout(function() {
164
- $(".ui.form.main").form("validate field", "orgNm");
165
- }, 300);
166
13
  }
167
- ```
168
14
 
169
- ### 試したこと
170
- 該当はAAAAという項目の部分です。
171
- 現状だと、①参照画面→編集画面へ遷移時に、AAAAへ値がセットされません。
172
- ②編集画面→子画面→編集画面の処理を行った際、選択した値がAAAAへ値がセットされます。
173
- また以下のように変更する。
174
15
 
175
- 変更前
176
- ```ここに言語を入力
177
- <input type="text" name="orgNm" id="orgNm" class="orgNm" ng-model="orgNm" readonly>
178
16
  ```
179
- 変更後
180
- ```
181
- <input type="text" name="orgNm" id="orgNm" class="orgNm" ng-value="orgNm" readonly>
182
- ```
183
- すると、①参照画面→編集画面へ遷移時に、AAAAへ値がセットされますが、②編集画面→子画面→編集画面の処理を行った際、AAAAへ値がセットされません。(①参照画面→編集画面へ遷移時の値のままです)
184
17
 
185
- ng-valueの他、ng-bindやng-initも使ってみましたが、うまくいきませんでした。
186
- ご助言お願います。
18
+ ### 試たこと
19
+ 該当はAAAAという項目の部分です。