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

首頁 > 開發 > HTML5 > 正文

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

2024-09-05 07:22:30
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 穆棱市| 衡山县| 南开区| 奉新县| 武鸣县| 阳江市| 安塞县| 玛纳斯县| 义马市| 象州县| 桑日县| 博乐市| 科技| 姚安县| 重庆市| 新竹县| 灵武市| 沾益县| 宁德市| 德令哈市| 大悟县| 武汉市| 海兴县| 罗山县| 浠水县| 通许县| 色达县| 定兴县| 广平县| 辽源市| 新昌县| 勃利县| 乌海市| 西乌| 盱眙县| 收藏| 营口市| 蕉岭县| 黄石市| 齐齐哈尔市| 南京市|