質問編集履歴

2

へんしゅう

2021/03/31 01:07

投稿

momolength
momolength

スコア62

test CHANGED
File without changes
test CHANGED
@@ -1,108 +1,8 @@
1
- ```ここに言語を入力
2
-
3
- <script type="text/javascript">
4
-
5
- $(document).ready(function() {
6
-
7
- 別の処理
8
-
9
- $('#user_id').keyup(checkChange(this));
10
-
11
- });
12
-
13
-
14
-
15
- function checkChange(e) {
16
-
17
- var old = v = $(e).find('#user_id').val();
18
-
19
- return function() {
20
-
21
- v = $(e).find('#user_id').val();
22
-
23
- if (v.length == 10 && old != v) {
24
-
25
- old = v;
26
-
27
- isChange = true;
28
-
29
- getUserId($('#user_id').val());
30
-
31
- }
32
-
33
- }
34
-
35
- }
36
-
37
-
38
-
39
- function getUserId($second_id) {
40
-
41
- $.ajax({
42
-
43
- type: 'POST',
44
-
45
- url: '<?php echo $this->Html->url(['action' => 'user_action']); ?>',
46
-
47
- data: {
48
-
49
- $second_id: $second_id
50
-
51
- },
52
-
53
- dataType: 'json',
54
-
55
- beforeSend: function() {
56
-
57
- $('#Waiting').show();
58
-
59
- },
60
-
61
- success: function(response) {
62
-
63
- $('#Waiting').hide();
64
-
65
- if (response.status == '判定OKの場合') {
66
-
67
- setUserId(response.data);
68
-
69
- }
70
-
71
- if (response.error_message != '判定NGの場合') {
72
-
73
- alert(response.error_message);
74
-
75
- }
76
-
77
- },
78
-
79
- error: function() {
80
-
81
- $('#Waiting').hide();
82
-
83
- alert('予期しないエラーが発生しました。');
84
-
85
- }
86
-
87
- });
88
-
89
- }
90
-
91
- ```
92
-
93
1
  環境
94
2
 
95
3
  cakephp2
96
4
 
97
- <コード参照 >
98
-
99
- 今現在inputに入った値をkeyupで判定し、ajaxで処理しています。
100
-
101
- しかし、ajax/jqueryの部分を取っ払って
102
-
103
- $('#user_id').keyup(checkChange(this));
104
-
105
- ここの部分で、controllerに対してpostを送るのはどうすればよろしいでしょうか。
5
+ keyupをした後に、controllerに対してpostを送るのはどうすればよろしいでしょうか。
106
6
 
107
7
 
108
8
 

1

追記

2021/03/31 01:07

投稿

momolength
momolength

スコア62

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,71 @@
103
103
  $('#user_id').keyup(checkChange(this));
104
104
 
105
105
  ここの部分で、controllerに対してpostを送るのはどうすればよろしいでしょうか。
106
+
107
+
108
+
109
+
110
+
111
+ 追記
112
+
113
+ https://techacademy.jp/magazine/26536
114
+
115
+ ```ここに言語を入力
116
+
117
+ window.onload = function() {
118
+
119
+ // 計算ボタンを押した際の動作を設定
120
+
121
+ document.getElementById('calc_button').onclick = function() {
122
+
123
+ post();
124
+
125
+ };
126
+
127
+
128
+
129
+ xhr = new XMLHttpRequest();
130
+
131
+
132
+
133
+ // サーバからのデータ受信を行った際の動作
134
+
135
+ xhr.onload = function (e) {
136
+
137
+ if (xhr.readyState === 4) {
138
+
139
+ if (xhr.status === 200) {
140
+
141
+ var answer = document.getElementById('answer');
142
+
143
+ answer.value = xhr.responseText;
144
+
145
+ }
146
+
147
+ }
148
+
149
+ };
150
+
151
+ };
152
+
153
+
154
+
155
+ // 計算ボタンを押した際の動作
156
+
157
+ function post() {
158
+
159
+ xhr.open('POST', 'calc.php', true);
160
+
161
+ xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
162
+
163
+ // フォームに入力した値をリクエストとして設定
164
+
165
+ var request = "arg1=" + arg1.value + "&arg2=" + arg2.value;
166
+
167
+ xhr.send(request);
168
+
169
+ }
170
+
171
+ ```
172
+
173
+ 上記サイトのこの部分とか使えそうですか?