質問編集履歴

1

jqueryのプラグイン事態がうごいていないのではないかとおもったので、追記

2016/10/26 10:34

投稿

usuallyi
usuallyi

スコア41

test CHANGED
@@ -1 +1 @@
1
- jqueryでjquery.bottom-1.0が実行されない。
1
+ jqueryでjquery.bottom-1.0,validateが実行されない。
test CHANGED
@@ -4,29 +4,211 @@
4
4
 
5
5
  $(window).bind('bottom',function(){
6
6
 
7
- 文以降が実行されません。
7
+ 文以降が実行されず、
8
+
9
+ tweetload内のajaxの表示の部分がでません。
10
+
11
+ bottom部分をコメント文にした場合は、
12
+
13
+ 予定通り、ajaxの表示が働いている状況です。
14
+
15
+
16
+
17
+ また、他のjqueryのプラグインvalidateも追加しましたが、
18
+
19
+ messageが表示されず。
20
+
21
+
22
+
23
+ どちらもエラーはでないのですが、
24
+
25
+ 動作しません。
26
+
27
+
8
28
 
9
29
 
10
30
 
11
31
  jqueryは、3.1.1
12
32
 
33
+ 追記
34
+
35
+ jqueryを2.2.4に変更しました。
36
+
13
37
  cakephp 2.xです。
14
38
 
15
39
 
16
40
 
17
41
  ```javascript
18
42
 
43
+ var user_id;
44
+
45
+ var my_id;
46
+
47
+
48
+
49
+ $(function(){
50
+
51
+ //15秒ごとに読み込み
52
+
53
+ tweet_load();
54
+
55
+ console.log('sucess');
56
+
57
+ setInterval("tweet_load()", 15000);
58
+
59
+ console.log('sucess4');
60
+
61
+ });
62
+
63
+
64
+
65
+ $(document).on('click','button',function(event){
66
+
67
+ if(!confirm('本当に削除しますか?')){
68
+
69
+ /* キャンセルの時の処理 */
70
+
71
+ return false;
72
+
73
+ }else{
74
+
75
+ event.preventDefault();
76
+
77
+ $.ajax({
78
+
79
+ type:'POST',
80
+
81
+ url: '/cakephp/users/json_data',
82
+
83
+ dataType: 'json',
84
+
85
+ cache : false,
86
+
87
+ data : {id : $(this).val()},
88
+
89
+ timeout:10000,
90
+
91
+ success: function(data) {
92
+
93
+ //console.log(user_id+' '+my_id+' '+$('textarea').val()+' '+time);
94
+
95
+ console.log('delite_success');
96
+
97
+ tweet_load();
98
+
99
+ },
100
+
101
+ error: function(XMLHttpRequest, textStatus, errorThrown) {
102
+
103
+ alert('error');
104
+
105
+ }
106
+
107
+ });}
108
+
109
+ });
110
+
111
+
112
+
113
+ $(document).on('click','div.submit',function(event) {
114
+
115
+ console.log('validate_start');
116
+
117
+ $('form').validate({
118
+
119
+ rules: {
120
+
121
+ textarea: {
122
+
123
+ required: true,
124
+
125
+ maxlength: 140
126
+
127
+ }
128
+
129
+ },
130
+
131
+ messages :{
132
+
133
+ textarea:{
134
+
135
+ required: "空白です。",
136
+
137
+ maxlength:"140文字以内で入力して下さい。"
138
+
139
+ }
140
+
141
+ }
142
+
143
+ });
144
+
145
+
146
+
147
+ if (!$('form').valid()) {
148
+
149
+ console.log('validate_error');
150
+
151
+ return false;
152
+
153
+ }
154
+
155
+ console.log('validate_end');
156
+
157
+ event.preventDefault();
158
+
159
+ $.ajax({
160
+
161
+ type:'POST',
162
+
163
+ url: '/cakephp/users/json_data',
164
+
165
+ dataType: 'json',
166
+
167
+ cache : false,
168
+
169
+ data : {'tweet_id': user_id ,'name': my_id , 'tweet' : $('textarea').val()},
170
+
171
+ timeout:10000,
172
+
173
+ success: function(data) {
174
+
175
+ $('textarea').val("");
176
+
177
+ //console.log(user_id+' '+my_id+' '+$('textarea').val()+' '+time);
178
+
179
+ console.log('sucess');
180
+
181
+ tweet_load();
182
+
183
+ },
184
+
185
+ error: function(XMLHttpRequest, textStatus, errorThrown) {
186
+
187
+ alert('error');
188
+
189
+ }
190
+
191
+ });
192
+
193
+ });
194
+
195
+
196
+
197
+
198
+
19
199
  function tweet_load(){
20
200
 
21
201
 
22
202
 
23
203
  var end_flag = 0; //最後のページまでいったら1にして次から読み込ませない
24
204
 
205
+ $('div.loading').append('loading...');
206
+
25
- $(window).bottom({proximity: 0.1}); //proximityを0.5にするとページの50%までスクロールするとloadingがはじまる
207
+ $(window).bottom({proximity: 0.5}); //proximityを0.5にするとページの50%までスクロールするとloadingがはじまる
26
208
 
27
209
  console.log('通信1');
28
210
 
29
- $(window).bind('bottom',function(){
211
+ $(window).on('bottom',function(){
30
212
 
31
213
  console.log('通信2');
32
214
 
@@ -66,11 +248,7 @@
66
248
 
67
249
  .done(function(data){
68
250
 
69
- /* alert('通信');
251
+ alert('通信');
70
-
71
- $(".loading").empty(); //画面に出ているloading...を空にする
72
-
73
- if(response!="end"){*/
74
252
 
75
253
  user_id = data.user_id;
76
254
 
@@ -118,4 +296,54 @@
118
296
 
119
297
  };
120
298
 
299
+
300
+
121
301
  ```
302
+
303
+ form部分も追加
304
+
305
+ cakephpのctpです。
306
+
307
+ ```php
308
+
309
+ <?php
310
+
311
+ echo $this->Html->script('https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js');
312
+
313
+ echo $this->Html->script('jquery.bottom-1.0');
314
+
315
+ echo $this->Html->script('jquery.validate');
316
+
317
+ echo $this->Html->css('index');?>
318
+
319
+
320
+
321
+ <?php
322
+
323
+ echo $this->Form->create('Tweet');
324
+
325
+ echo nl2br($this->Form->textarea('tweet', array('cols'=>100, 'rows'=>4,'required' => false,'error'=>false)));
326
+
327
+ echo $this->Form->hidden('tweet_id',array('value'=> $user['id']));
328
+
329
+ echo $this->Form->hidden('name',array('value'=> $user['username']));
330
+
331
+ echo $this->Form->submit('投稿',array(/*'onclick'=>'index',*/'name' => 'submit'));
332
+
333
+ echo $this->Form->end();
334
+
335
+ endif;
336
+
337
+ ?>
338
+
339
+ <h3>ホーム</h3>
340
+
341
+ <div id="output">
342
+
343
+ <div id="delite"></div>
344
+
345
+ <div class="loading"></div>
346
+
347
+ </div>
348
+
349
+ ```