注意如圖所示,密碼框<input type="password" />部分并沒有顯示出來。
查看源碼,發(fā)現(xiàn)其中的html代碼使用并不規(guī)范:
<form name="myform" method="post" id="myform" action="/login"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTM2MTU3MzA1NmRk" /> </div> 用戶名或郵箱:<br /> <input name="txtUserName" type="text" maxlength="30" id="txtUserName" size="23" /> <div class="mtop5"><label>密碼:</label></div> <input name="txtPassword" type="password" maxlength="20" id="txtPassword" size="23" /><br /> <input type="submit" name="btnLogin" value="登錄" id="btnLogin" /><br /><br /> </form>
使用web developer驗(yàn)證其html代碼,發(fā)現(xiàn)其中存在不合理嵌套的問題,一是<input>元素不應(yīng)該獨(dú)立放置,而應(yīng)當(dāng)放置在div或p等塊級(jí)元素內(nèi)部。w3c的html驗(yàn)證錯(cuò)誤為“character data is not allowed here”和"document type does not allow element "input" here; missing one of "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "fieldset" start-tag"。
于是html代碼重新處理下,新的如下:
<form name="myform" method="post" id="myform" action="/login"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTM2MTU3MzA1NmRk" /> </div> <p class="normal">用戶名或郵箱:</p> <p><input name="txtUserName" type="text" maxlength="30" id="txtUserName" size="23" /></p> <p class="mtop5"><label>密碼:</label></p> <p><input name="txtPassword" type="password" maxlength="20" id="txtPassword" size="23" /></p> <p><input type="submit" name="btnLogin" value="登錄" id="btnLogin" /></p> </form>
檢查后通過了w3c的驗(yàn)證:
頁面也顯示正常了,如下圖所示。
考慮原因可能是QQ手機(jī)瀏覽器采用了比較嚴(yán)格的html解釋引擎,相對opera、UC web等它會(huì)處理沒有那么寬松。
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇