質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

3回答

1615閲覧

JavaScriptで、24時間以上経つと処理が行われるようにしたい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2016/08/30 08:24

お世話になります。

回答フォームで好きなメッセージを送るというものを作りたいのですが、
1度メッセージを送信した後、24時間以上経つとまた送信できるようになるという仕組みにしたいのですが、
JavaScriptのみで作る事は可能でしょうか?

また、同じような感じで
24時間以上経つと他人の回答を受信するという処理もできるようにしたいです。

クラウドIDEのmonacaを使っているので、JavaScriptでしか動的なものがつくれません。

多くのアドバイスがいただければと思います、
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

1度メッセージを送信した後、24時間以上経つとまた送信できるようになるという仕組み

こちらだけなら皆さんおっしゃられるようにローカルストレージ等利用して、送信の都度保存した時間と現在時刻を比較すればよいかと思います。ローカルストレージに関しては公式blog(?)のようなところに記事がありましたのでリンクを残しておきます。


24時間以上経つと他人の回答を受信するという処理もできるようにしたいです。

formからの送信を端末で直接受信するのは無理だと思うので、何らかの形でサーバ側に仕組みが必要になるのではないでしょうか?最近のmonacaはほとんど触れていないので分かりませんが、サーバサイドで提供されるそのようなサービスってあります?
もし送信を受信して保存し配信するサーバサイドの仕組みを自分で作成しているなら、時間の管理もそちらで行ったほうが簡単かもしれませんね。

投稿2016/08/30 12:35

hirohiro

総合スコア2068

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/30 15:47

ご回答ありがとうございます。 ローカルストレージに関しては全くの無知ですので、勉強してみようと思います! サーバーに関してですが、ニフティと連携しているmBaaSがありまして(ニフティクラウドモバイルバックエンド)、そちらを利用しています。 それにデータストア機能がありまして、送信された回答はその中に配列として格納される仕組みになっています。
guest

0

Cookieを使いましょう。
Cookieは書き込みのタイミングで有効期限を設定できます。
有効期限は再度Cookieを書き込むと更新されますが、読み込み時には更新されません。

ですので、
・Cookieがなければメッセージの送信許可を出す。
・メッセージが送信されればCookieを作成、有効期限を24時間に設定する。
・次回アクセス時にCookieが存在すればメッセージの送信を拒否する。

といった感じにすれば出来ると思います。

受信も同じような具合でいけますが、送信時に作成するCookieとは名前を分けましょう。

投稿2016/08/30 08:51

Yasha_Wedyue

総合スコア830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ローカルストレージを利用してはいかがでしょうか?

javascript

1localStorage.setItem('Key', 'value'); 2var obj = localStorage.getItem('obj');

のような感じで保存できます。

投稿2016/08/30 08:49

s.t.

総合スコア2021

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/30 15:20

ご回答ありがとうございます。 ローカルストレージって配列ですよね? 少し勉強してみようと思います。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問