Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >HTML的JavaScript日期验证

HTML的JavaScript日期验证
EN

Stack Overflow用户
提问于 2018-07-20 23:43:11
回答 4查看 108关注 0票数 0

我目前正试图在一个网站上创建一个表单,其中一个人在提交表单之前填写一个日期。如果用户在今天之前输入日期,它将不会提交表单并发出一个声明为"Date cannot be before today"的警告。

然而,我遇到了一个问题,我的JavaScript算法是错误的,我无法找出是什么导致了这个问题。问题是:日期不重要,用户可以从表单中从2020-01-01输入maxlength下面的任何日期(JavaScript不工作)

代码语言:javascript
运行
AI代码解释
复制
function checkForm() {
  var answ = validateDate(document.getElementById("doa").value);
  if (answ == false) {
    return false;
  }
  return true;
}

function validateDate(doa) {
  var d = new Date(doa);
  var n = new Date();
  if (d <= n) {
    alert("Date cannot be before today");
    return false;
  }
  return true;
}

我的表格:

代码语言:javascript
运行
AI代码解释
复制
<form action="advertResult.html" onsubmit="return checkForm()">
  <label class="formText">First Name:</label>
  <input type="text" id="firstName" name="firstname" placeholder="" required>

  <label class="formText">Last Name:</label>
  <input type="text" id="lastName" name="lastname" placeholder="" required>

  <label for="commission" class="formText">Type of Commission</label>
  <select id="commission" name="commission" required>
    <option value="drawing">Art</option>
    <option value="video">Video</option>
  </select>

  <label for="doa" class="formText">Select a date for discussion</label>
  <input type="date" name="date" id="doa" max="2020-01-01" required>

  <input type="submit" value="Submit">
</form>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-07-21 00:13:18

HTML代码引用全局函数checkForm,而JS代码可以通过多种方式定义。

除非它是由一个旧的<script>标记(直接在HTML中或使用src属性)所包含的,否则包含JS的方式(例如使用webpack)可能会将函数转换为本地函数,并且不会定义全局checkForm

在这种情况下,您可以定义一个全局函数(http://jsfiddle.net/w1m6c7v0/7/):

代码语言:javascript
运行
AI代码解释
复制
window.checkForm = function() {
  ...

或者更好的是,在JS中添加事件侦听器(http://jsfiddle.net/w1m6c7v0/6/,但如果有多个表单,则使用id属性):

代码语言:javascript
运行
AI代码解释
复制
document.querySelector('form').onsubmit = checkForm
function checkForm() {
  ...
票数 1
EN

Stack Overflow用户

发布于 2018-07-21 00:01:52

更新代码以执行日期检查。

代码语言:javascript
运行
AI代码解释
复制
function checkForm() {
  return validateDate(document.getElementById("doa").value);
}

function validateDate(doa) {
  var d = new Date(doa);
  var n = new Date();
  return (d.getFullYear() >= n.getFullYear()) &&
    (d.getMonth() >= n.getMonth()) &&
    (d.getDate() >= n.getDate());
}
票数 1
EN

Stack Overflow用户

发布于 2018-07-21 00:18:25

您可以使用moment.js库:https://momentjs.com/

代码语言:javascript
运行
AI代码解释
复制
if(moment(doa)).isBefore())
  return false;
return true;

如果没有任何东西传递给moment#isBefore,它将默认为当前时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51453962

复制
相关文章
在AWS中建立网络分割案例
网络分割最简单的示例是使用防火墙分离应用程序和基础结构组件。这个概念现在是构建数据中心和应用程序架构中提出的。但如果没有合适的网络分割模型,几乎不可能找到企业案例。
FB客服
2019/10/15
1.6K0
ssm实现发送邮箱功能
参考:ssm整合JavaMail发送邮件_ssm整合mimemessage_ds_surk的博客-CSDN博客
chao超的搬运文章
2023/10/15
2740
ssm实现发送邮箱功能
jsp中在href中传递参数
<% Configuration conf = new Configuration(); URI uri = new URI("hdfs://192.168.0.52:9010"); FileSystem fileSystem = FileSystem.get(uri, conf); //System.out.println("Hdfs directory is"+"\n"); Path src1 = new Path("hdfs://192.168.0.52:9
闵开慧
2018/03/30
4.8K0
在函数中的局部程序(像是比局部变量还局部的部分)
我们都知道局部变量是在一个函数内部定义的变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。在一个函数内部定义的变量只在本函数范围内有效,也就是只有本函数内才能引用它们,在此函数外不能使用这些变量。在复合语句内定义的变量只能在本复合语句范围内有效,只有本复合语句内才能引用他们,在该复合语句外不能使用这些变量。还有就是函数的形参,只在该函数内有效。而全局变量的有效范围为从定义变量的位置开始到本源文件结束。 但还有一种形式的局部变量不是以函数为限制,而是以
跋扈洋
2021/02/02
1.1K0
在函数中的局部程序(像是比局部变量还局部的部分)
在SSM框架中配置定时任务
在项目中需要添加一个定时任务,完成每天晚上访问第三方接口用于同步数据,在实际中这样的定时任务需求很多,比如系统日志,备份等等,特在网上找了相关内容。 此处使用的是SSM框架,SpringMVC的配置文件都在springmvc.xml中。 1. 在springmvc.xml添加如下内容 在xmlns中添加
geekfly
2022/05/06
1.1K0
activeMQ 在ssm中的使用-版本 5.14.4
        <!-- activemq配置开始 -->         <dependency>             <groupId>org.eclipse.jetty</groupId>             <artifactId>jetty-continuation</artifactId>             <version>${jetty.version}</version>         </dependency>         <!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-all -->         <dependency>             <groupId>org.apache.activemq</groupId>             <artifactId>activemq-all</artifactId>             <version>${activemq.version}</version>         </dependency>         <!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-broker -->         <dependency>             <groupId>org.apache.activemq</groupId>             <artifactId>activemq-broker</artifactId>             <version>${activemq.version}</version>         </dependency>         <!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-client -->         <dependency>             <groupId>org.apache.activemq</groupId>             <artifactId>activemq-client</artifactId>             <version>${activemq.version}</version>         </dependency>         <!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-web -->         <dependency>             <groupId>org.apache.activemq</groupId>             <artifactId>activemq-web</artifactId>             <version>${activemq.version}</version>         </dependency>         <!--geronimo.specs-->         <!-- https://mvnrepository.com/artifact/org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec -->         <dependency>             <groupId>org.apache.geronimo.specs</groupId>             <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>             <version>${geronimo.specs.version}</version>         </dependency>         <!-- https://mvnrepository.com/artifact/org.apache.geronimo.specs/geronimo-jms_1.1_spec -->         <dependency>             <groupId>org.apache.geronimo.specs</groupId>             <artifactId>geronimo-jms_1.1_spec</artifactId>             <version>${geronimo.specs
爱明依
2019/03/12
1.1K0
aws在java中使用
一 AWS DynamoDb在java中的使用【建立连接】 accessKey = “xxxxxxx”; secretKey = “xxxxxxxx” if (StringUtils.isNotBlank(accessKey) && StringUtils.isNotBlank(secretKey)) { logger.debug("accessKey和secretKey有值,不是写在系统配置里的方式"); bac = new BasicAWSCredentials(accessKey, se
零式的天空
2022/03/21
2.4K0
【说站】python在函数中传递实参
若要使函数接受不同类型的实参,则必须将接受任意数量实参的形参放在函数定义的最后。首先,Python匹配位置实参和关键词实参,然后将剩余的实参收集到最后一个形参中。
很酷的站长
2022/11/23
1.6K0
【说站】python在函数中传递实参
基于SSM的 spring 发送邮件的实现
由于考虑到项目中需要,如果程序出现异常或其它问题,可以发送邮件来及时提醒后台维护人员处理。所以目前考虑使用JavaMail来实现邮件发送!如下,是我整理的一些内容,做个笔记记录下:(当然,在这功能实现之前,需要搭建好ssm的基本框架!)
AI码真香
2022/09/13
4930
基于SSM的 spring 发送邮件的实现
在 Vue 中,父组件中传递数据给子组件
在父组件中传递数据给子组件。在 Vue 中,可以通过 props 属性来实现父组件向子组件传递数据的功能。
王小婷
2023/09/11
3850
PHP在函数体中传递与接收参数
默认情况下,PHP是按值传递参数的。值传递参数调用函数时将常量或变量的值(通常称其为实参)传递给函数的参数(通常称为形参)。值传递的特点是实参与行参分别存储在内存中,是两个不相关的独立变量。因此,在函数内部改变形参的值时,实参的值一般是不会改变的。
用户7657330
2020/08/14
2.8K0
非局部静态数据在多编译单元中的窘境
而编译单元指的就是*.o文件,假如一个工程是由n个单独的cpp和对应的头文件,那么就会被事先编译生成n个*.o文件,有时候我们将这些*.o文件称为目标文件,它们作为生成最后的统一可执行文件,也被称为编译单元。
用户2617681
2019/08/08
8020
用AWS、Slack和树莓派构建物联网原型项目
IoT-AWS-Slack-and-a-Raspberry-Pi-1-1068x656-1.jpg
用户4122690
2020/06/08
2.8K0
用AWS、Slack和树莓派构建物联网原型项目
在AWS云上的SAP
虽然最近亚马逊在迁离Oracle的数据库,使用Aurora PostgreSQL导致Prime Day促销日出现故障,但这似乎并不影响Amazon Aurora 数据库的推进,并且亚马逊一直在说Amazon Aurora兼容MySQL和PostgreSQL,是一种将数据库迁移到云的优秀工具。可见其要脱离Oracle的决心。而SAP也做出了同样的事情,在以前的SAP ERP系统里,SAP一直使用着别人的数据库,比如Oracle,后来SAP推出了HANA内存数据库,在S/4 HANA系列版本中,成功的使用了自己研发的数据库。可以看出这两家企业都想离开Oracle,所以合作是必然的事。
matinal
2019/01/04
2.3K0
在AWS云上的SAP
【翻译】研究表明--保护公共AWS SSM文件的必要性
AWS系统管理器通过创建SSM文档在AWS资源上自动执行操作任务。以JSON或YAML创建的SSM文档包含AWS系统管理器将在云资产上执行的操作。默认情况下,SSM文档是私有的,但可以配置为与其他AWS账户共享或公开共享。AWS提供了共享SSM文档的最佳实践。
BinGo_Blog
2022/11/01
5010
kubernetes 实用技巧: 在 SHELL 中传递信号
在 Kubernetes 中,Pod 停止时 kubelet 会先给容器中的主进程发 SIGTERM 信号来通知进程进行 shutdown 以实现优雅停止,如果超时进程还未完全停止则会使用 SIGKILL 来强行终止。
CNCF
2021/05/27
2.2K0
Flask-在Flask中跨请求传递数据资源
利用 Flask的底层Werkzeug是有缓存支持的,不用使用redis等第三方。
用户1558882
2018/10/25
1.3K0
java中的参数传递-值传递、引用传递
参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递。
chenchenchen
2022/11/29
4.8K0
java中的参数传递-值传递、引用传递
kubernetes 实用技巧: 在 SHELL 中传递信号
在 Kubernetes 中,Pod 停止时 kubelet 会先给容器中的主进程发 SIGTERM 信号来通知进程进行 shutdown 以实现优雅停止,如果超时进程还未完全停止则会使用 SIGKILL 来强行终止。
imroc
2021/05/18
2.8K0
在React中如何使用history.push传递参数
第一种和第三种,在目标路由刷新后,参数还可以取到,但是第二种页面刷新后,参数就取不到了,第二种适合开发winform类的应用。
挥刀北上
2021/12/19
21.6K0
在React中如何使用history.push传递参数

相似问题

在aws CLI中通过AWS ssm开始会话传递命令

11

AWS ssm发送命令:修改CLI中的超时

130

AWS SSM发送命令:参数参数未通过

130

在AWS SSM中检索命令调用

20

不使用特殊字符的aws ssm发送命令

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档