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=
//确定我们倒计时的日期
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>