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毛玻璃效果(blur)有白边问题的解决方法
Nov 15 HTML / CSS
css3实现wifi信号逐渐增强效果实例
Aug 09 HTML / CSS
浅析CSS3 中的 transition,transform,translate之间区别和作用
Mar 26 HTML / CSS
纯CSS3实现的井字棋游戏
Nov 25 HTML / CSS
html5+css3之制作header实例与更新
Dec 21 HTML / CSS
HTML5 FormData 方法介绍以及实现文件上传示例
Sep 12 HTML / CSS
用HTML5.0制作网页的教程
May 30 HTML / CSS
html5构建触屏网站之touch事件介绍
Jan 07 HTML / CSS
HTML5之SVG 2D入门10—滤镜的定义及使用
Jan 30 HTML / CSS
详解HTML5中表单验证的8种方法介绍
Dec 19 HTML / CSS
带你了解CSS基础知识,样式
Jul 21 HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
Dec 24 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 操作excel文件的方法小结
2009/12/31 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
生成二维码方法汇总
2014/12/26 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
Python中join函数简单代码示例
2018/01/09 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
TensorFlow实现非线性支持向量机的实现方法
2018/04/28 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
2014年社区学雷锋活动总结
2014/03/09 职场文书
平安校园建设方案
2014/05/02 职场文书
新入职员工工作总结
2015/10/15 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
python基础入门之普通操作与函数(三)
2021/06/13 Python
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL