0

1日に1回クリックした後、ユーザーの送信ボタンを無効にし、翌日にこのボタンを再度有効にしたい。

   <input type="submit" class="myButton" id="option" value="submit"/>

必要なのは、送信ボタンをクリックすると、フォームが送信され、その日のボタンが無効になることです。その後、翌日のみそのユーザーに再利用できます。

4

3 に答える 3

1

さて、ボタンがクリックされた場合、およびクリックされた場合は、どの日付/時刻に何らかの方法で保存する必要があります。または、日付と時刻のみを保持し、空の場合 (初回のみ) はまだ押されていません。

この値をデータベースのテキスト ファイルに保存できます。

ページをロードするときは、次の擬似コードのようにします。

<?
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"/>';
}
于 2012-07-16T07:25:43.740 に答える
0
<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 回だけ機能し、ボタンは正常に機能します。

于 2012-07-17T00:34:05.993 に答える
0

これを行う最も簡単な方法は、クリックの日時をデータベースに保存することだと思います。ユーザーには、クリックの日時とともに保存する必要がある、ある種の一意の 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 キーを押してページをスパムしていないことを確認できます。

于 2012-07-16T07:33:27.903 に答える