javascript - (课程预订功能)在用户点击 HTML 表单提交之前提示他们选择了周末日期
问题描述
问题简介
我目前正在开发一个预订功能,会员可以购买两种不同类型的课程套餐,第一个是“仅限工作日”套餐,而另一个套餐允许“全天”。
我不想为“仅限工作日”套餐持有者禁用周末和公共假期的选择,因为他们仍然需要能够预订这些日期,尽管需要额外付费。
想知道在点击 HTML 表单上的提交之前,是否有任何方法可以通知“仅限工作日”套餐持有者他们选择了周末/公共假期。
目前的方法
在会员的主页上,只要他们当前的帐户有一个活动包,他们就可以单击“预订课程”按钮,将包信息保存在 mysql 中,状态为 '0 = No Package' , '1 = Weekday Only包”和“2 = 任何一天的包”。
单击“预订课程”按钮后,他们将被重定向到允许用户选择日期和课程位置的表单。提交表格后,将根据提交的日期检查日期,如果会员套餐状态 = '1' 并且所选日期为周六/周日,则在允许会员确认之前,它会提示会员有关额外费用的信息预订。
当前方法只能检查点击提交按钮后的日期,以及提交的表单,
感谢您的时间和投入。
解决方案
在 Javascript 中,您可以添加一个事件侦听器,该事件侦听器将触发一个处理函数,该处理函数验证日期以确定是否在每次输入更改时是周末。
在上述函数中,您可以使用getDay()方法验证是否是周末,下面的代码/伪代码可能是一个好的开始:
let yourDateField = document.getElementByID("you-date-field");
yourDateField.addEventListener('input', function (evt) {
let selectedDate = new Date(yourDateField.value);
let day = selectedDate.getDay();
if(day === 6){
alert("The date you chose is on a Saturday");
}
else if(day === 0){
alert("The date you chose is on a Sunday");
}else{
//Proceed with class signup.
}
});
答案假定您在进行验证之前不需要检查数据库。
推荐阅读
- c# - Google Vision AI Vertexes/Vertices 在 C# 中裁剪图像
- typescript - Typescript 类在用作另一个类的属性中的类型时出现故障
- google-analytics-4 - GA4 中的“排除 URL 查询参数”去了哪里
- database - 从 Kafka 到 Druid 的交互式实时更新数据
- javascript - 从表达式中删除空括号
- javascript - 有条件地渲染组件
- flutter - 为什么这一行有两个不同的相等运算符?
- postgresql - PostgreSQL TRIGGER - how to find out if we are running IMMEDIATE or DEFERRED?
- javascript - 单击按钮时更改按钮的颜色烧瓶js html
- jenkins - jenkins 登录错误(用户名或密码无效)