国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

html5的input的required使用中遇到的問題及解決方法

2024-08-26 00:20:38
字體:
來源:轉載
供稿:網友

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使用中遇到的問題及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陈巴尔虎旗| 公主岭市| 东至县| 昭通市| 廉江市| 洛隆县| 奈曼旗| 余干县| 新龙县| 青海省| 勃利县| 长顺县| 太谷县| 阿拉善右旗| 卫辉市| 疏附县| 陆川县| 郑州市| 团风县| 松滋市| 罗山县| 盘锦市| 济源市| 绩溪县| 张家港市| 元朗区| 太原市| 长垣县| 开封县| 资溪县| 贺州市| 镇康县| 定日县| 和政县| 沅江市| 红桥区| 大荔县| 通化市| 长沙县| 即墨市| 汉寿县|