JSlip  1.0
account_create.tmplt
Go to the documentation of this file.
1 <?php
2 /**
3  * @link https://datagram.co.jp/source/bksj for the canonical source repository
4  * @copyright Copyright (c) 2006-2019 Datagram Ltd. (https://datagram.co.jp)
5  * @license https://datagram.co.jp/source/bksj/license.txt
6  */
7 
8 $view = $ctrl->view;
9 ?>
10 <script type="text/javascript">
11 
12  var my = {
13 
14  errmsg: null,
15  ans: null,
16  next: null,
17  func: null,
18  act: null,
19  v_name: null,
20  v_login_id: null,
21  v_passwd0: null,
22  v_passwd1: null,
23  v_role: null,
24  v_email: null,
25  v_tel: null,
26 
27  gotoNext: function(func, act) {
28  this.func.val(func);
29  this.act.val(act);
30  this.next.submit();
31  return false;
32  },
33 
34  check: function() {
35 
36  $.ajax({
37  url: '<?= $base ?>',
38  type: 'post',
39  async: false,
40  data: {
41  'func': 'Account',
42  'act': 'check',
43  'insert': 1,
44  'name': this.v_name.val(),
45  'role': this.v_role.val(),
46  'email': this.v_email.val(),
47  'tel': this.v_tel.val(),
48  'login_id': this.v_login_id.val(),
49  'passwd0': this.v_passwd0.val(),
50  'passwd1': this.v_passwd1.val(),
51  'eod': ''
52  }
53  })
54  .done((data) => {
55  eval("this.ans = " + data);
56  })
57  .fail((data) => {
58  this.ans = {"sts": "NG", "err": "ajax error"};
59  });
60 
61  return this.ans.sts;
62  },
63 
64  regist: function() {
65 
66  var msg = '';
67 
68  if (!confirm("登録しますか?")) {
69  return false;
70  }
71 
72  if (this.check() == 'NG') {
73 
74  for (var i in this.ans.err) {
75  msg += this.ans.err[i] + '<br>';
76  }
77 
78  this.errmsg.html(msg);
79  return false;
80  }
81 
82  $.ajax({
83  url: '<?= $base ?>',
84  type: 'post',
85  async: false,
86  data: {
87  'func': 'Account',
88  'act': 'regist',
89  'insert': 1,
90  'name': this.v_name.val(),
91  'role': this.v_role.val(),
92  'email': this.v_email.val(),
93  'tel': this.v_tel.val(),
94  'login_id': this.v_login_id.val(),
95  'passwd0': this.v_passwd0.val(),
96  'passwd1': this.v_passwd1.val(),
97  'eod': ''
98  }
99  })
100  .done((data) => {
101  eval("this.ans = " + data);
102  })
103  .fail((data) => {
104  this.ans = {"sts": "NG", "err": "ajax error"};
105  });
106 
107  if (this.ans.sts == 'NG') {
108  this.errmsg.html(this.ans.err);
109  return false;
110  }
111 
112  this.gotoNext('Account', 'remember');
113 
114  return false;
115  },
116 
117  init: function() {
118  this.errmsg = $('#errmsg');
119  this.next = $('#next');
120  this.func = $('#func');
121  this.act = $('#act');
122  this.v_name = $('#v_name');
123  this.v_login_id = $('#v_login_id');
124  this.v_passwd0 = $('#v_passwd0');
125  this.v_passwd1 = $('#v_passwd1');
126  this.v_role = $('#v_role');
127  this.v_email = $('#v_email');
128  this.v_tel = $('#v_tel');
129  }
130  }
131 
132  $(function(){
133  my.init();
134  });
135 
136 </script>
137 
138 <form method="post" name="next" id="next" action="<?= $base ?>">
139  <input type="hidden" name="func" id="func">
140  <input type="hidden" name="act" id="act">
141 </form>
142 
143 <table id="my_header" width="100%">
144  <tr>
145  <td>
146  &nbsp;<a onclick="return my.gotoNext('RootMenu', '');">root用メニュー</a>
147  &nbsp;&gt;&nbsp;<a onclick="return my.gotoNext('Account', 'remember');">アカウント</a>
148  &nbsp;&gt;&nbsp;新規作成
149  </td>
150  <td style="text-align: right;">
151  <button type="button" class="my_magenta" style="width: 120px;" onclick="return my.gotoNext('Login', '');">ログアウト</button>
152  </td>
153  </tr>
154 </table>
155 
156 <div style="height: 5px;">&nbsp;</div>
157 
158 <table width="100%">
159  <tr>
160  <td align="center">
161  <table class="my_table" width="100%">
162  <tr>
163  <th class="my_border">アカウント・新規作成</th>
164  </tr>
165  </table>
166 
167  <div style="height: 1px;">&nbsp;</div><hr>
168 
169  <table>
170  <tr>
171  <td align="center">
172  <table>
173  <tr>
174  <td style="padding: 8px;">
175  <button type="button" class="my_cyan" style="width: 100px;" onclick="return my.regist();">登録</button>
176  </td>
177  <td style="width: 80px;">&nbsp;</td>
178  <td>
179  <button type="button" class="my_magenta" style="width: 100px;" onclick="return my.gotoNext('Account', 'remember');">戻る</button>
180  </td>
181  </tr>
182  </table>
183  </td>
184  </tr>
185  </table>
186 
187  <div style="height: 1px;">&nbsp;</div><hr>
188 
189  <div style="height: 8px;">&nbsp;</div>
190 
191  <table class="my_table">
192  <tr>
193  <td colspan="2"><div id="errmsg" class="my_red"></div></td>
194  </tr>
195  <tr>
196  <td colspan="2">&nbsp;</td>
197  </tr>
198  <tr>
199  <th class="my_border" style="width: 100px; text-align: right;">
200  メンバー名
201  </th>
202  <td class="my_border">
203  <input style="width: 400px; text-align: left;" maxlength="80" type="text" id="v_name">
204  </td>
205  </tr>
206  <tr>
207  <th class="my_border" style="width: 100px; text-align: right;">
208  アカウント
209  </th>
210  <td class="my_border">
211  <input style="width: 400px; text-align: left;" maxlength="80" type="text" id="v_login_id">
212  </td>
213  </tr>
214  <tr>
215  <th class="my_border" style="width: 100px; text-align: right;">
216  パスワード<br>パスワード確認
217  </th>
218  <td class="my_border">
219  <input style="width: 400px; text-align: left;" maxlength="80" type="password" id="v_passwd0">
220  <br>
221  <input style="width: 400px; text-align: left;" maxlength="80" type="password" id="v_passwd1">
222  </td>
223  </tr>
224  <tr>
225  <th class="my_border" style="width: 100px; text-align: right;">
226  ロール
227  </th>
228  <td class="my_border">
229  <select id="v_role">
230 <?php
231 foreach (ROLE as $r) {
232  echo '<option value="' . $r . '">' . $r . '</option>' . "\n";
233 }
234 ?>
235  </select>
236  </td>
237  </tr>
238  <tr>
239  <th class="my_border" style="width: 100px; text-align: right;">
240  電子メール
241  </th>
242  <td class="my_border">
243  <input style="width: 400px; text-align: left;" maxlength="80" type="text" id="v_email">
244  </td>
245  </tr>
246  <tr>
247  <th class="my_border" style="width: 100px; text-align: right;">
248  電話番号
249  </th>
250  <td class="my_border">
251  <input style="width: 400px; text-align: left;" maxlength="80" type="text" id="v_tel">
252  </td>
253  </tr>
254  </table>
255  </td>
256  </tr>
257 </table>