2011-01-07 250 views
0

我有以下代碼複選框值不顯示

<tr> 
<td align=left colspan=6><table border="0"> 
    <tr> 
     <td><font class="body_text"> windows: <input name="pro1" id="products0" type="checkbox" value="5" test="5"></td> 

     <td><font class="body_text"> cpu: <input name="pro2" id="products1" type="checkbox" value="2" test="2"></td> 

     <td><font class="body_text"> keyboard: <input name="pro3" id="products2" type="checkbox" value="3" test="3"></td> 

     <td><font class="body_text"> mouse: <input name="pro4" id="products3" type="checkbox" value="4" test="4"></td> 


    </tr> 

,我試圖讓在DOM

if(document.form.products[0].checked == true) alert(document.form.products[0].value); 

第一個複選框的值這給了我一個警告,但其值未定義。

感謝

+0

你的PHP代碼是無關緊要的,也是在路上。請顯示您的PHP生成的代碼,因爲_that_是瀏覽器正在查看的內容。 – Phrogz 2011-01-07 06:39:11

+0

-1用於以非語義方式使用表格和`font`元素。 – zzzzBov 2011-01-07 07:04:28

回答

1

假設這些控件的格式爲ID form(這不是一個好名字),那麼問題在於,您沒有任何使用「產品」名稱的控件,但是您正試圖使用該名稱訪問控件。

products更改爲您想要的控件的名稱(或ID)(因爲名稱是唯一的,請刪除[0])或將所有複選框的名稱更改爲products

您還有一些與此問題沒有直接關係的其他問題。

  1. 您正在使用<font>它被廢棄了,表象和垃圾
  2. 您沒有使用這是需要無障礙<label>(包括使點擊目標複選框超過微小更大)
  3. 出現使用表格佈局
  4. form太普通了一個id
  5. 更好的風格是document.form.ID_OF_FORM.elements.NAMES_OF_CHECKBOXES[0]
  6. checked屬性是一個布爾值,== true是多餘的
0

你有相同的id屬性的所有輸入。這在語法上是非法的,也可能是你麻煩的原因。讓每一個都獨一無二。