ユーザーが送信ボタンを使用して詳細を入力した日に1回だけ(つまり)1回クリックした場合は、マイボタンを無効にする必要があります。翌日、自動的にボタンを有効にする必要があります。ボタンを1日に1回クリックし、JavaScriptとAngularJS 1を使用して翌日有効にする方法はありますか?
あなたはSajalが言ったようにあなたがDBの状態を維持することができバックエンドしている場合は、JavaScriptやAngularJS ..
ユーザーが送信ボタンを使用して詳細を入力した日に1回だけ(つまり)1回クリックした場合は、マイボタンを無効にする必要があります。翌日、自動的にボタンを有効にする必要があります。ボタンを1日に1回クリックし、JavaScriptとAngularJS 1を使用して翌日有効にする方法はありますか?
あなたはSajalが言ったようにあなたがDBの状態を維持することができバックエンドしている場合は、JavaScriptやAngularJS ..
で私を助けていますが、angularjs/JavaScriptとフロントエンドソリューションのクッキー(クリスが言った)またはのlocalStorageについて質問されているので、
https://www.w3schools.com/js/js_cookies.asp https://www.w3schools.com/html/html5_webstorage.asp
:移動するための方法である、あなたはW3Schoolsの上の詳細情報をリセットするために、毎日のボタンを設定することができますクッキーを設定し、クッキーに基づきます
クッキーを修正することができますので、フルプロテクトソリューションが必要な場合は、DBが最良の方法です。
クリックのステータスをlocalstorageに保存できますが、このソリューションは安全ではありません。 サーバー側のコントロールを追加する必要があります。
タイムアウト機能を使用できます。タイムアウトの特定の時間を与えてから、そのタイムアウト後にボタンを有効にすることができます。
EX:
var theInterval = $interval(function(){
//Enable button
}.bind(this), time);
このソリューションでは、ブラウザを開いたままにしておく必要があります。実際には実際にはうまくいかない場合があります。 – pegla
このユーザーとブロともになるこのためにローカルストレージに時間を保存することができます。ブラウザが開くと、ボタンを有効にする残りの時間が計算されます。 –
あなたはのlocalStorageを使用することができます。
<button ng-disabled="!buttonIsActive()" ng-click="onClick()"></button>
$scope.buttonIsActive = function() {
var now = new Date();
var day = now.getDate();
var lastClickDay = parseInt(localStorage.getItem("last-click-day"));
return day > lastClickDay;
}
$scope.onClick = function() {
var now = new Date();
var day = now.getDate();
localStorage.setItem("last-click-day", day);
// ... Do something else here
}
はクッキーを調べてください。 –
データベース内の状態を維持する必要があります – Sajal
フロントエンドから行うことができる最善の方法は、クッキーまたはlocalStorageにデータを保存することですが、誰でも簡単に削除することができます。 Webブラウザまたは他のデバイスでは、ボタンを再度クリックすることができます。だからあなたはSajalが言ったようにデータベースを使うことを検討すべきです。 – Fuross