Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML Javascript检查是否在计时器过期之前单击提交_Javascript_Html_Forms_If Statement_Timer - Fatal编程技术网

HTML Javascript检查是否在计时器过期之前单击提交

HTML Javascript检查是否在计时器过期之前单击提交,javascript,html,forms,if-statement,timer,Javascript,Html,Forms,If Statement,Timer,我正在尝试为促销计时器添加一个验证,允许用户在计时器运行时获得折扣(倒计时) 伪代码 计时器仍在运行 用户填写表单并单击提交按钮 如果条件: a) 如果计时器仍在运行->发送表单并为此表单提交添加折扣 b) 如果计时器过期->发送不带折扣代码的表单 (index.html)这是我在html页面中为计时器编写的脚本 ''' //确定我们倒计时的日期 var countDownDate=新日期(“2021年5月30日09:17:25”).getTime(); //每1秒更新一次倒计时 var x=

我正在尝试为促销计时器添加一个验证,允许用户在计时器运行时获得折扣(倒计时)

伪代码

  • 计时器仍在运行
  • 用户填写表单并单击提交按钮
  • 如果条件: a) 如果计时器仍在运行->发送表单并为此表单提交添加折扣 b) 如果计时器过期->发送不带折扣代码的表单
  • (index.html)这是我在html页面中为计时器编写的脚本

    '''

    
    //确定我们倒计时的日期
    var countDownDate=新日期(“2021年5月30日09:17:25”).getTime();
    //每1秒更新一次倒计时
    var x=setInterval(函数(){
    //获取今天的日期和时间
    var now=new Date().getTime();
    //找出现在和倒计时日期之间的距离
    var距离=倒计时日期-现在;
    //天、小时、分钟和秒的时间计算
    变量天数=数学楼层(距离/(1000*60*60*24));
    可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60));
    var分钟=数学楼层((距离%(1000*60*60))/(1000*60));
    var秒=数学楼层((距离%(1000*60))/1000);
    //在id=“timer”的元素中输出结果
    document.getElementById(“计时器”).innerHTML=days+“d”+hours+“h”
    +分钟+米+秒+秒;
    //如果倒计时结束,写一些文字
    如果(距离<0){
    净间隔(x);
    document.getElementById(“计时器”).innerHTML=“过期”;
    }
    }, 1000);
    
    '''

    当您单击submit按钮时,它会将您带到另一页上的提交表单(booknow.html)

    (booknow.html)这是我在不同html页面中提交表单的脚本

    '''

    $(文档).ready(函数(){
    var$sendmailel=$(“#发送电子邮件”);
    变量$subjectEl=$(“#subject”);
    var$bodyEl=$(“#body”);
    变量$addressEl=$(“#address”);
    变量$fnameEl=$('fname');
    var$lnameEl=$(“#lname”);
    var$phoneEl=$(“#phone”);
    变量$applianceEl=$(“#设备”)
    var$dayEl=$(“#day”);
    var$myEmailEl='gmail.com';
    var$myEmailEncode=('acbdefg'+'@'+$myEmailEl);
    //如果计时器仍在运行,则添加优惠券功能启动
    var$息票=”;
    函数add优惠券(){
    }
    //如果计时器仍在运行,则添加优惠券功能结束
    函数updateEmailLink(){
    $sendmailel.attr('href','mailto:'+encodeURIComponent($myEmailEncode)+'?'+
    “subject=”+encodeURIComponent($subjectEl.val())+
    “&body=”+“您好”+“%0D%0A”+encodeURIComponent($bodyEl.val())+“%0D%0A”+”地址:”
    +encodeURIComponent($addressEl.val())+“%0D%0A”+”名字:'
    +encodeURIComponent($fnameEl.val())+“%0D%0A”+”姓氏:'
    +encodeURIComponent($lnameEl.val())+'%0D%0A'+'电话:'
    +encodeURIComponent($phoneEl.val())+'%0D%0A'+'设备:'
    +encodeURIComponent($applianceEl.val())+“%0D%0A”+”首选日期:'
    +encodeURIComponent($dayEl.val())
    );
    //log($sendmailel.attr('href'));
    }
    $('subject,'body')。在('input',updateEmailLink)上;
    updateEmailLink();
    });
    
    '''


    我可能应该在计时器脚本中的某个地方添加带有随机代码“Discount777”的var,然后使用提交脚本中的if语句检查计时器是否正在运行,如果正在运行,则从另一个页面获取var=“Discount777”,并将其与表单一起发送。或者有更简单的方法?

    因为计时器是基于实时的实际日期,所以将计时器添加到预订页面,创建bool变量,将其设置为isExpired(或not),然后从预订页面内部读取。
        <script>
          // Set the date we're counting down to
          var countDownDate = new Date("May 30, 2021 09:17:25").getTime();
          
          // Update the count down every 1 second
          var x = setInterval(function() {
          
            // Get today's date and time
            var now = new Date().getTime();
              
            // Find the distance between now and the count down date
            var distance = countDownDate - now;
              
            // Time calculations for days, hours, minutes and seconds
            var days = Math.floor(distance / (1000 * 60 * 60 * 24));
            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);
              
            // Output the result in an element with id="timer"
            document.getElementById("timer").innerHTML = days + "d " + hours + "h "
            + minutes + "m " + seconds + "s ";
              
            // If the count down is over, write some text 
            if (distance < 0) {
              clearInterval(x);
              document.getElementById("timer").innerHTML = "EXPIRED";
            }
          }, 1000);
          </script>
    
    <script>$(document).ready(function() {
                var $sendEmailEl = $('#send-email');
                var $subjectEl = $('#subject');
                var $bodyEl = $('#body');
                var $addressEl = $('#address');
                var $fnameEl = $('#fname');
                var $lnameEl = $('#lname');
                var $phoneEl = $('#phone');
                var $applianceEl = $('#appliance')
                var $dayEl = $('#day');
                var $myEmailEl = 'gmail.com';
                var $myEmailEncode = ('acbdefg' +  '@' + $myEmailEl );
                // adding coupon function if timer still running Start
                var $coupon = "";
    
                function addCoupon() {
    
                }
                // adding coupon function if timer still running End
                function updateEmailLink() {          
                    $sendEmailEl.attr('href', 'mailto:'+ encodeURIComponent($myEmailEncode) +'?' + 
                    'subject=' + encodeURIComponent($subjectEl.val()) + 
                    '&body=' + 'Hi there' + '%0D%0A' + encodeURIComponent($bodyEl.val()) + '%0D%0A' + ' Address: ' 
                    + encodeURIComponent($addressEl.val()) + '%0D%0A' + ' First Name: ' 
                    + encodeURIComponent($fnameEl.val()) + '%0D%0A' + ' Last Name: ' 
                    + encodeURIComponent($lnameEl.val()) + '%0D%0A' + ' Phone: ' 
                    + encodeURIComponent($phoneEl.val()) + '%0D%0A' + ' Appliance: ' 
                    + encodeURIComponent($applianceEl.val()) + '%0D%0A' + ' Prefered date: '
                    + encodeURIComponent($dayEl.val())
                    );
                    // console.log($sendEmailEl.attr('href'));
                }
                $('#subject,#body').on('input', updateEmailLink);
                updateEmailLink();
            });
        </script>