2012-08-13 80 views
4

經過很多努力,我想到了這一點,所以我想我會分享我遇到的情況,以便其他人可以從我的努力中受益。 Firefox IE和Chrome 19(唯一的其他版本,我很方便)沒有這個問題,但鉻21。Chrome 21沒有檢查單選按鈕

如果你有這樣的單選按鈕

<input type='radio' name'k1' value='v1' checked> 

它不會出現在網頁上檢查,如果它是一個無效的位置。

比如我有

<table> 
<input type='radio' name'k1' value='v1' checked> 
<tr><td>table information</td></tr> 
</table> 

不管我做什麼,加載頁面時不會出現檢查。

回答

2

我的html無法確定,但在我的情況下,它是隱藏的,所以我沒有馬上注意到,但隱藏與否,按鈕不會被檢查(因此不會與表單一起提交)頁面加載。

如果您將投入正常工作的有效位置...

<table> 
<tr><td>table information 
<input type='radio' name'k1' value='v1' checked> 
</td></tr> 
</table> 

這麼肯定我有錯的佈局,我敢肯定,流行的反應是「怎麼可能你期望瀏覽器解釋無效的html?「我同意,但不要檢查一個單選按鈕,特別是因爲它被隱藏了(並且它曾經在之前版本的chrome中工作)使得難以追蹤錯誤。所以我想我可能會在幾個小時的工作中拯救一個人。

4

測試谷歌瀏覽器21.0.1180.75和0.79

<table> 
    <input type="checkbox" name="n" value="v" checked="checked" /> 
</table> 

缺少輸入元件周圍的<tr><td></tr></td>導致checked複選框作爲託運不要出現。此外,當表單被提交時,這些複選框也不會被檢查到服務器端!

一旦HTML格式正確,複選框應該出現檢查由checked屬性所指示:

<table> 
    <tr> 
    <td> 
     <input type="checkbox" name="n" value="v" checked="checked" /> 
    </td> 
    </tr> 
</table> 
0

雖然不屬於所討論的瀏覽器中,一些移動設備(例如銀河S3 )不會檢查單選按鈕,除非它在表單中。根據我的經驗,大多數其他輸入(例如複選框)都很好。