form提交时隐藏input发生的错误

问题描述

在form表单提交的时候,有些input标签被隐藏,表单验证过程中会出现An invalid form control with name='' is not focusable的错误

虽然我遇到的问题是我的input标签根本没有required属性,但是在该标签隐藏之前,(我的是使用tab栏切换)我输入了错误的格式,再隐藏,这时候他其实是错误的,会被form表单同样去验证,但是由于它被隐藏,浏览器获取不到焦点就会报错。

解决方法

隐藏之前将该input的value值设置为空即可.我的input上面没有使用required属性。

如果input含有display:none和required属性,也会产生该错误

产生原因

Chrome希望专注于需要但仍为空的控件,以便可以弹出消息“请填写此字段”。但是,如果控件在Chrome想要弹出消息的时候隐藏,即在提交表单时,Chrome无法关注该控件,因为它是隐藏的,因此表单不会提交。

解决方法如下

1.隐藏时,将required属性删除

selector.removeAttribute("required")

2.没有使用required的话,或许是由于button按钮,类型未设置造成。设置

3.form表单不验证,即添加novalidate属性。(不是最终解决办法)

4.既然是由于使用了display:none造成,同样的visibility: hidden 也会造成问题,那就不使用。通过可以设置css样式opacity: 0;

5.禁用此表单控件。 disabled 这是因为通常如果你隐藏了表单控件,那是因为你不关心它的价值。所以这个表单控件名称值对在提交表单时不会被发送。

$("body").on("submit", ".myForm", function(evt) {

// Disable things that we don't want to validate.

$(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", true);

// If HTML5 Validation is available let it run. Otherwise prevent default.

if (this.el.checkValidity && !this.el.checkValidity()) {

// Re-enable things that we previously disabled.

$(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", false);

return true;

}

evt.preventDefault();

// Re-enable things that we previously disabled.

$(["input:hidden, textarea:hidden, select:hidden"]).attr("disabled", false);

// Whatever other form processing stuff goes here.

});

总结

以上所述是小编给大家介绍的h5的input的required使用中遇到的问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

html required 无效,html5的input的required使用中遇到的问题及解决方法相关推荐

  1. html5官网中遇到的问题,html5的input的required使用中遇到的问题及解决方法

    form提交时隐藏input发生的错误 问题描述 在form表单提交的时候,有些input标签被隐藏,表单验证过程中会出现An invalid form control with name=" ...

  2. input输入框在移动端点击有阴影解决方法

    input输入框在移动端点击有阴影解决方法 参考文章: (1)input输入框在移动端点击有阴影解决方法 (2)https://www.cnblogs.com/dingjiujiu/p/6694332 ...

  3. 关于html5的video标签不能播放视频的问题及解决方法

    最近实习过程中遇到了音频视频流的格式问题,进行了一些学习和总结. 问题背景 使用html5中的 video 标签去播放视频,但是发现有的flv/mp4格式的视频可以播放,有的flv/mp4格式的视频不 ...

  4. input标签与图片按钮水平对齐的解决方法

    解决方法其实很简单,只要加上vertical-align:middle属性就可以了. <input name="veryhuo" type="text" ...

  5. input和textarea中字体样式不同的解决方法

    当我们写一个输入框群组时,input和textarea中字体样式会不同,比如下面: 里面输入的字也不一样: 代码在这里: html: <div style="margin: 0 aut ...

  6. html5 输入框有值无效,HTML5基础 input required 输入框内必须有内容

    OS : Windows 10 browser : Chrome 83.0.4103.116 editor : Visual Studio Code 1.46.1 typesetting : Mark ...

  7. (端口被占用)启动Tomcat时,出现Port 8080 required by Tomcat v8.0 Server at localhost is already in use解决方法

    出现此类问题是由于此端口被占用了,由于项目异常关闭,导致tomcat没有关闭导致的. 异常解决方式大致有三种方法: 一.换端口号 最简单直接的方式就是换一个其他的端口号就解决了 但是这种方式由于只是治 ...

  8. HTML5做手机站页面字体显示很小的解决方法

    HTML5做手机站需要加上一部分代码,不然字体会显示很小的,经历了很久的不解才发现的,希望给大家一些帮助 <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD ...

  9. label包裹input,点击label响应两次解决方法

    一.html <div class="box"><label><input type="checkbox" value=" ...

  10. html5网页中用video标签无法播放MP4视频的解决方法

    为了避免大家遇到同样的问题我在这里就给大家普及一下html5关于标签的知识吧: 在使用html4协议做网站时我们想要在网页上播放一个视频要不使用flash去播放,要么就是嵌入式页面来实现,对于html ...

最新文章

  1. linux ftp做yum源,在RedHat5下架设yum源服务器(FTP)
  2. 【推荐系统】推荐系统主流召回方法综述
  3. springboot-mail
  4. 【dijkstra模板】旅游规划 (25 分)
  5. (*长期更新)软考网络工程师学习笔记——Linux操作系统中的vi/vim 编辑器详解
  6. 安装spss显示JAVA_请问mac安装spss,出现“java for MacOS 2017-001”无法安装到磁盘。怎么办?...
  7. 依附B2B平台照样做搜索营销
  8. 哈儿小波分解和重构(降维和升维)实现算法
  9. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
  10. Python入门到精通三天速成第三讲——多重继承
  11. Python之认识世界
  12. matlab如何获得一个二值掩码,1.3矩阵的掩码操作 - osc_uarhdl2n的个人空间 - OSCHINA - 中文开源技术交流社区...
  13. 神经网络图像预处理,神经网络修复图片
  14. 一般系统论的方法 读书笔记
  15. java 如何读取解析 mac 下的 pages 文稿,实现数据库正向工程
  16. 哈啰电动车“智慧门店”设想,经销商们买账吗?
  17. MATLAB中表示点形状、颜色的常见符号
  18. NLPCC论文LaTeX封面生成代码
  19. 初识SecureCRT工具
  20. 小米手机风筝守护显示服务器异常,风筝守护只能小米用吗

热门文章

  1. 一起玩react 你不知道的setState
  2. javascript中function前面加(/!/+/-/~的含义
  3. 做IT精英还是IT民工? 从事IT只是个体力活
  4. ps后期调色教程,ps怎么后期调色步骤图
  5. PHP - 在网页里格式化输出(打印)JSON字符串
  6. 微型计算机中lo设备的含义是,专转本计算机 基础知识.doc
  7. linux 下载文件
  8. java timer 销毁_java.util.Timer用法须知
  9. 聚类算法之k-均值,k-中心点
  10. 成立一年,手游交叉推广交易社区Chartboost已有8000款游戏加入