1日に1回クリックした後、ユーザーの送信ボタンを無効にし、翌日にこのボタンを再度有効にしたい。
<input type="submit" class="myButton" id="option" value="submit"/>
必要なのは、送信ボタンをクリックすると、フォームが送信され、その日のボタンが無効になることです。その後、翌日のみそのユーザーに再利用できます。
さて、ボタンがクリックされた場合、およびクリックされた場合は、どの日付/時刻に何らかの方法で保存する必要があります。または、日付と時刻のみを保持し、空の場合 (初回のみ) はまだ押されていません。
この値をデータベースのテキスト ファイルに保存できます。
ページをロードするときは、次の擬似コードのようにします。
<?
if ($dateLastPressed < $aDayAgo)
{
echo '<input type="submit" class="myButton" id="option" value="submit" disabled = "disabled"/>';
}
else
{
echo '<input type="submit" class="myButton" id="option" value="submit"/>';
}
<form name="from" id="myForm"></form>
$('#myForm').bind('submit', function(){
$.ajax({
type:'POST',
cache:false,
url:'/phpFiles/Form.php', //your path file
data:$('#myForm').serializeArray(),
success:function(data){
var msg = $('.dearUserMsg');
msg.slideDown(100, function(){
msg.html(data);});// esse e a resposta do segundo form
}
});
return false;
});
$('#myForm').bind('submit', function(){ // essa e a submit perfeito
$.ajax({
type:'POST',
cache:false,
url:'secondForm.php',
data:$('#myForm').serializeArray(),
success:function(data){
$.fancybox({
content: data,
width: '90%',
height: '50%',
scrolling: 'no',
overlayColor: '#060',
overlayOpacity: .3,
transitionIn: 'elastic',
transitionOut: 'elastic',
easingIn: 'easeInSine',
easingOut: 'easeOutSine',
titlePosition: 'outside',
hideOnOverlayClick: false,
hideOnContentClick: false
}); //('#mainTag')
}
});return false;
});
<input type="submit" value="Submit" id="sButton" />
<div class="dearUserMsg" style="display:none"></div>
slideDown 作業に none を表示することを忘れないでください
それは同じことですが、応答はファンシーボックスの中に来ます
両方の例では、送信ボタンは 1 回だけ機能し、ボタンは正常に機能します。
これを行う最も簡単な方法は、クリックの日時をデータベースに保存することだと思います。ユーザーには、クリックの日時とともに保存する必要がある、ある種の一意の ID があると仮定します。
そのユーザー チェックのこの特定のフォームをレンダリングしてデータベース レコードを確認するときは、日付と時刻を現在の日付と時刻と比較し、比較の結果に応じてボタンを表示します。
<?php if ($dbRecord < $timeLimit) : ?>
<input type="submit" class="myButton" id="option" value="submit" disabled = "disabled"/>
<?php else : ?>
<input type="submit" class="myButton" id="option" value="submit"/>
<?php endif; ?>
また、PHP スクリプトにある種の検証を行う必要があります。これにより、ユーザーが最初にフォームを送信した後に Enter キーを押してページをスパムしていないことを確認できます。