質問編集履歴

3

内容変更

2019/08/13 06:02

投稿

Homaresan
Homaresan

スコア15

test CHANGED
@@ -1 +1 @@
1
- 誰か助けください!経過時間をビューに表示させたいです!泣
1
+ ページをリロードしもリセットせず経過時間を表示させ続けたい
test CHANGED
@@ -1,66 +1,28 @@
1
- ### 前提・実現したいこと
1
+ ### 前提・実現したいこと
2
-
3
- 今現在Ruby on Rails5で禁煙の手助けとなるアプリケーションを作成しているプログラミング初心者です。
4
2
 
5
3
 
6
4
 
7
- devise作成した新規登録画面で登録完了するとトップページに移動しビューに登録からの経過時間を表示させたいです
5
+ Ruby on rails5経過時間をビューに表示させるためにjsファイルを用いて経過時間を表示させました。
8
6
 
9
7
 
10
8
 
11
- 経過時間を表示するjsファイルは作成できたのですが、登録ボタンを押たと同時にトップページ移動し経過時間表示する方法を色々調べみたのでが分かりませんでした
9
+ かしページを更新(リロード)するとタイマーがリセットされしまいます。
10
+
11
+
12
+
13
+ 経過時間をリセットさせずに表示し続けたいです。
12
14
 
13
15
 
14
16
 
15
17
 
16
18
 
17
- 登録ボタンをクリックと同時にトップページに移動しビュー(トップページ)にjsファイルに記載の関数を呼び出すことができると解決できると思うのですが…
18
-
19
-
20
-
21
- 分からなかったので申し訳ないのでが、教えて頂けと幸いです
19
+ ### index.html.haml(経過時間を表示するビューです)
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
- ### app/views/users/regisrations/new.html.haml
34
20
 
35
21
 
36
22
 
37
23
  ```
38
24
 
39
- = form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
25
+ %input{type: 'button', value: 'スタート', onclick: 'startShowing();'}
40
-
41
-
42
-
43
- (省略)
44
-
45
-
46
-
47
- .actions
48
-
49
- = f.submit "禁煙開始" #ここが新規登録ボタンです。
50
-
51
- ```
52
-
53
-
54
-
55
- ### index.html.haml(経過時間を表示させたいビューです)
56
-
57
-
58
-
59
- ```
60
-
61
- %h2 あなたの禁煙時間
62
-
63
-    #ここで呼び出したいです。
64
26
 
65
27
  %form{action: '#', name: 'form1'}
66
28
 
@@ -72,11 +34,13 @@
72
34
 
73
35
  %input{type: 'text', name: 'field4', size: '2'}秒
74
36
 
37
+   
38
+
75
39
  ```
76
40
 
77
41
 
78
42
 
79
- ### app/assets/javascripts/timer.js
43
+ ### timer.js
80
44
 
81
45
 
82
46
 
@@ -87,6 +51,8 @@
87
51
 
88
52
 
89
53
  // 初期化
54
+
55
+ var day = 0;
90
56
 
91
57
  var hour = 0;
92
58
 
@@ -100,7 +66,7 @@
100
66
 
101
67
 
102
68
 
103
- function disp(){
69
+ function startShowing(){
104
70
 
105
71
 
106
72
 
@@ -108,9 +74,11 @@
108
74
 
109
75
 
110
76
 
111
- datet = parseInt((now.getTime() - start.getTime()) / 1000);
77
+ datet = parseInt((now.getTime() - start.getTime()) / 1000);
112
78
 
113
79
 
80
+
81
+ day = parseInt(datet / 86400);
114
82
 
115
83
  hour = parseInt(datet / 3600);
116
84
 
@@ -130,17 +98,19 @@
130
98
 
131
99
 
132
100
 
133
- // テキストフィールドにデータを渡す処理
101
+ // テキストフィールドにデータを渡す処理
134
102
 
135
- document.form1.field1.value = hour;
103
+ document.form1.field1.value = day;
136
104
 
137
- document.form1.field2.value = min;
105
+ document.form1.field2.value = hour;
138
106
 
107
+ document.form1.field3.value = min;
108
+
139
- document.form1.field3.value = sec;
109
+ document.form1.field4.value = sec;
140
110
 
141
111
 
142
112
 
143
- setTimeout("disp()", 1000);
113
+ setTimeout("startShowing()", 1000);
144
114
 
145
115
 
146
116
 

2

誤字

2019/08/13 06:02

投稿

Homaresan
Homaresan

スコア15

test CHANGED
File without changes
test CHANGED
@@ -8,13 +8,13 @@
8
8
 
9
9
 
10
10
 
11
- 経過時間を表示するjsファイルは作成できたのですが、登録ボタンを押したと同時にトップページ経過時間を表示する方法を色々調べてみたのですが分かりませんでした。
11
+ 経過時間を表示するjsファイルは作成できたのですが、登録ボタンを押したと同時にトップページ移動し経過時間を表示する方法を色々調べてみたのですが分かりませんでした。
12
12
 
13
13
 
14
14
 
15
15
 
16
16
 
17
- 登録ボタンをクリックと同時にトップページビューにjsファイルに記載の関数を呼び出すことができると解決できると思うのですが…
17
+ 登録ボタンをクリックと同時にトップページに移動しビュー(トップページ)にjsファイルに記載の関数を呼び出すことができると解決できると思うのですが…
18
18
 
19
19
 
20
20
 

1

タイトル変更

2019/08/12 11:55

投稿

Homaresan
Homaresan

スコア15

test CHANGED
@@ -1 +1 @@
1
- 初心者です。経過時間をビューに表示させたいですが、jsファイルに記載の関数の呼び出し方が分からず困っています。
1
+ 誰か助けてください!経過時間をビューに表示させたいです!泣
test CHANGED
File without changes