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

質問編集履歴

2

へんしゅう

2021/03/31 01:07

投稿

momolength
momolength

スコア62

title CHANGED
File without changes
body CHANGED
@@ -1,56 +1,6 @@
1
- ```ここに言語を入力
2
- <script type="text/javascript">
3
- $(document).ready(function() {
4
- 別の処理
5
- $('#user_id').keyup(checkChange(this));
6
- });
7
-
8
- function checkChange(e) {
9
- var old = v = $(e).find('#user_id').val();
10
- return function() {
11
- v = $(e).find('#user_id').val();
12
- if (v.length == 10 && old != v) {
13
- old = v;
14
- isChange = true;
15
- getUserId($('#user_id').val());
16
- }
17
- }
18
- }
19
-
20
- function getUserId($second_id) {
21
- $.ajax({
22
- type: 'POST',
23
- url: '<?php echo $this->Html->url(['action' => 'user_action']); ?>',
24
- data: {
25
- $second_id: $second_id
26
- },
27
- dataType: 'json',
28
- beforeSend: function() {
29
- $('#Waiting').show();
30
- },
31
- success: function(response) {
32
- $('#Waiting').hide();
33
- if (response.status == '判定OKの場合') {
34
- setUserId(response.data);
35
- }
36
- if (response.error_message != '判定NGの場合') {
37
- alert(response.error_message);
38
- }
39
- },
40
- error: function() {
41
- $('#Waiting').hide();
42
- alert('予期しないエラーが発生しました。');
43
- }
44
- });
45
- }
46
- ```
47
1
  環境
48
2
  cakephp2
49
- <コード参照 >
50
- 今現在inputに入った値をkeyupで判定し、ajaxで処理しています。
51
- しかし、ajax/jqueryの部分を取っ払って
52
- $('#user_id').keyup(checkChange(this));
53
- ここの部分で、controllerに対してpostを送るのはどうすればよろしいでしょうか。
3
+ keyupをした後に、controllerに対してpostを送るのはどうすればよろしいでしょうか。
54
4
 
55
5
 
56
6
  追記

1

追記

2021/03/31 01:07

投稿

momolength
momolength

スコア62

title CHANGED
File without changes
body CHANGED
@@ -50,4 +50,38 @@
50
50
  今現在inputに入った値をkeyupで判定し、ajaxで処理しています。
51
51
  しかし、ajax/jqueryの部分を取っ払って
52
52
  $('#user_id').keyup(checkChange(this));
53
- ここの部分で、controllerに対してpostを送るのはどうすればよろしいでしょうか。
53
+ ここの部分で、controllerに対してpostを送るのはどうすればよろしいでしょうか。
54
+
55
+
56
+ 追記
57
+ https://techacademy.jp/magazine/26536
58
+ ```ここに言語を入力
59
+ window.onload = function() {
60
+ // 計算ボタンを押した際の動作を設定
61
+ document.getElementById('calc_button').onclick = function() {
62
+ post();
63
+ };
64
+
65
+ xhr = new XMLHttpRequest();
66
+
67
+ // サーバからのデータ受信を行った際の動作
68
+ xhr.onload = function (e) {
69
+ if (xhr.readyState === 4) {
70
+ if (xhr.status === 200) {
71
+ var answer = document.getElementById('answer');
72
+ answer.value = xhr.responseText;
73
+ }
74
+ }
75
+ };
76
+ };
77
+
78
+ // 計算ボタンを押した際の動作
79
+ function post() {
80
+ xhr.open('POST', 'calc.php', true);
81
+ xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
82
+ // フォームに入力した値をリクエストとして設定
83
+ var request = "arg1=" + arg1.value + "&arg2=" + arg2.value;
84
+ xhr.send(request);
85
+ }
86
+ ```
87
+ 上記サイトのこの部分とか使えそうですか?