html5的input的required使用中遇到的问题及解决方法


Posted in HTML / CSS onApril 24, 2018

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按钮,类型未设置造成。设置<button type="button">

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

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 / CSS 相关文章推荐
使用css3制作登录表单的步骤
Apr 07 HTML / CSS
用CSS3的box-reflect设置文字倒影效果的方法讲解
Mar 07 HTML / CSS
利用Canvas模仿百度贴吧客户端loading小球的方法示例
Aug 13 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
Mar 01 HTML / CSS
HTML5 UTF-8 中文乱码的解决方法
Nov 18 HTML / CSS
html5教程画矩形代码分享
Dec 04 HTML / CSS
简单的HTML5初步入门教程
Sep 29 HTML / CSS
移动端html5 meta标签的神奇功效
Jan 06 HTML / CSS
HTML5标签大全
Nov 23 HTML / CSS
H5混合开发app如何升级的方法
Jan 10 HTML / CSS
Html5 APP中监听返回事件处理的方法示例
Mar 15 HTML / CSS
小程序瀑布流解决左右两边高度差距过大的问题
Feb 20 HTML / CSS
HTML5轻松实现全屏视频背景的示例
Apr 23 #HTML / CSS
HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
Apr 23 #HTML / CSS
HTML5拖拽API经典实例详解
Apr 20 #HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
Apr 19 #HTML / CSS
HTML5实现移动端复制功能
Apr 19 #HTML / CSS
canvas实现漂亮的下雨效果的示例
Apr 18 #HTML / CSS
详解Html5 监听拦截Android返回键方法
Apr 18 #HTML / CSS
You might like
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
php邮件发送的两种方式
2020/04/28 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
比较详细的javascript对象的property和prototype是什么一种关系
2007/08/06 Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
python删除文本中行数标签的方法
2018/05/31 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
python爬取微信公众号文章的方法
2019/02/26 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
什么是python的id函数
2020/06/11 Python
非常详细的C#面试题集
2016/07/13 面试题
工作失误检讨书范文大全
2014/01/13 职场文书
新闻专业学生的自我评价
2014/02/13 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
《称赞》教学反思
2016/02/17 职场文书
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL
Oracle创建只读账号的详细步骤
2021/06/07 Oracle