首頁  >  文章  >  web前端  >  label標籤使用過程中遇到的問題分析及解決思路_HTML/Xhtml_網頁製作

label標籤使用過程中遇到的問題分析及解決思路_HTML/Xhtml_網頁製作

WBOY
WBOY原創
2016-05-16 16:40:071758瀏覽

最近在做東西時候使用了label標籤,由於之前很少使用label標籤,所以就遇到一個很奇怪的問題。什麼問題呢?下面來看一個效果



提示:您可以先修改部分程式碼再執行

這個demo要實現的目的是在點擊使用者登入按鈕的時候校驗使用者輸入的使用者名稱、密碼是否合法,如果不合法就在使用者名稱輸入框下方提示錯誤訊息。
提示錯誤訊息的元素計畫用label實作。

透過執行程式碼開啟demo頁面,點擊登入按鈕,看看會有什麼變化。如果使用的是Firefox、Chrome或IE9 ,則點擊登入按鈕之後會提示 “使用者名稱錯誤”,這是想要的結果。如果使用的是IE6, 7, 8如何一個再看看會有什麼變化呢?這時候發現頁面沒有提示出來訊息,開啟開發人員工具,看下控制這時候會發現提示出來錯誤訊息「SCRIPT600: 未知的執行階段錯誤 」。遇到這個問題的時候嘗試了innerText和innerHTML兩種方法,發現都會報這樣的錯誤,以為是使用方法不對去w3cschool上面查了下發現也沒有說不支持innerText和innerHTML的。

到底為什麼會在IE6, 7, 8提示這樣的錯誤而Firefox, Chrome, IE9 (其他瀏覽器沒有嘗試)運作正常呢。細心的人可能一下就看出問題在哪裡了,對於提示「使用者名稱錯誤」的元素開始標籤寫成了「lable」而不是label。但我當時就沒有發現這問題,一直以為是label標籤使用方式上出現了問題呢,至於為什麼IE6, 7, 8的JS引擎會在操作這種把標籤名寫錯的元素的innerText、innerHTMl屬性時出現錯誤,而Firefox、Chrome和IE9 沒有出現錯誤,不是很清楚,如果有對這方面比較了解的朋友請解釋下吧。
這個問題其實還挺低級的,把標籤名寫錯了嘛。但是當時自己就沒有發現,後來仔細研究了一下才發現這個問題,所以還是記錄一下。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn