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 11 HTML / CSS
支持IE8的纯css3开发的响应式设计动画菜单教程
Nov 05 HTML / CSS
CSS3哪些新特性值得称赞
Mar 02 HTML / CSS
CSS3 旋转立方体问题详解
Jan 09 HTML / CSS
CSS3中的弹性布局em运用入门详解 1em等于多少像素
Feb 08 HTML / CSS
Canvas 文本转粒子效果的实现代码
Feb 14 HTML / CSS
html5新增的属性和废除的属性简要概述
Feb 20 HTML / CSS
Html5自定义字体解决方法
Oct 09 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
Oct 29 HTML / CSS
详解HTML5 Canvas标签及基本使用
Jan 10 HTML / CSS
AmazeUI中各种的导航式菜单与解决方法
Aug 19 HTML / CSS
html5实现点击弹出图片功能
Jul 16 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
PHP中使用CURL获取页面title例子
2015/01/07 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
python多线程编程中的join函数使用心得
2014/09/02 Python
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python计算三维矢量幅度的方法
2015/06/15 Python
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
Python中的sort()方法使用基础教程
2017/01/08 Python
详解python eval函数的妙用
2017/11/16 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
Python实现全排列的打印
2018/08/18 Python
Django如何自定义分页
2018/09/25 Python
Python基础之文件读取的讲解
2019/02/16 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
python在CMD界面读取excel所有数据的示例
2020/09/28 Python
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
法学专业个人求职信
2013/09/26 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
索赔员岗位职责
2015/02/15 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
大学入学感言
2015/08/01 职场文书