国产探花免费观看_亚洲丰满少妇自慰呻吟_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使用中遇到的問題及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰县| 洞头县| 株洲市| 阳信县| 乌兰县| 浪卡子县| 钟山县| 韶关市| 昌都县| 巴里| 宜宾县| 霞浦县| 赤壁市| 扎囊县| 中山市| 东平县| 鹿邑县| 浑源县| 红原县| 彭山县| 晋江市| 元江| 盐源县| 蓝田县| 永济市| 邓州市| 沾化县| 宁德市| 德化县| 临沂市| 泸溪县| 临汾市| 北海市| 万山特区| 青铜峡市| 额敏县| 大同县| 商水县| 通许县| 布拖县| 盐津县|