回答編集履歴

1

sample

2016/10/26 05:54

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -31,3 +31,111 @@
31
31
  のようなSQLをはしらせてflagをajaxの戻り値としておけば
32
32
 
33
33
  sucsess時にそのflagをみてボタンを書き換えることになると思います
34
+
35
+
36
+
37
+ # sample
38
+
39
+ ボタンを押して、ボタンのnameをおくってajaxで更新
40
+
41
+ ```PHP
42
+
43
+ <script>
44
+
45
+ $(function(){
46
+
47
+ $(document).on('click','input[type=button][value=確認]',function(){
48
+
49
+ var b=$(this).val("確認中").prop('disabled',true);
50
+
51
+ console.log($(this).prop('name'));
52
+
53
+ $.ajax({
54
+
55
+ url:"test.php",
56
+
57
+ type:"post",
58
+
59
+ data:{ajax_id:$(this).prop('name')},
60
+
61
+ dataType:"json",
62
+
63
+ success:function(data){
64
+
65
+ console.log(data["flag"]);
66
+
67
+ if(data["flag"]=="2"){
68
+
69
+ b.val("確認済").prop('disabled',false);
70
+
71
+ }else if(data["flag"]=="1"){
72
+
73
+ b.val("確認").prop('disabled',false);
74
+
75
+ }else{
76
+
77
+ b.val("不明").prop('disabled',false);
78
+
79
+ }
80
+
81
+ },
82
+
83
+ error:function(data,txt){
84
+
85
+ b.val("失敗").prop('disabled',false);
86
+
87
+ },
88
+
89
+ });
90
+
91
+ });
92
+
93
+ });
94
+
95
+ </script>
96
+
97
+ xxx1001:<input type="button" name="xxx1001" value="確認"><br>
98
+
99
+ xxx1002:<input type="button" name="xxx1002" value="確認"><br>
100
+
101
+ xxx1003:<input type="button" name="xxx1003" value="確認"><br>
102
+
103
+
104
+
105
+ ```
106
+
107
+
108
+
109
+ test.php
110
+
111
+ SQL更新についてはおいておいてとりあえず戻り値が違うものを返す
112
+
113
+
114
+
115
+ ```PHP
116
+
117
+ <?PHP
118
+
119
+ sleep(3);
120
+
121
+ $id=filter_input(INPUT_POST,"ajax_id");
122
+
123
+ if($id=="xxx1001"){
124
+
125
+ print json_encode(["flag"=>2]);
126
+
127
+ }elseif($id=="xxx1002"){
128
+
129
+ print json_encode(["flag"=>1]);
130
+
131
+ }else{
132
+
133
+ print json_encode(["flag"=>0]);
134
+
135
+ }
136
+
137
+ ?>
138
+
139
+ ```
140
+
141
+