复选框值不显示
问题描述:
我有以下代码复选框值不显示
<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);
第一个复选框的值这给了我一个警告,但其值未定义。
感谢
答
假设这些控件的格式为ID form
(这不是一个好名字),那么问题在于,您没有任何使用“产品”名称的控件,但是您正试图使用该名称访问控件。
将products
更改为您想要的控件的名称(或ID)(因为名称是唯一的,请删除[0]
)或将所有复选框的名称更改为products
。
您还有一些与此问题没有直接关系的其他问题。
- 您正在使用
<font>
它被废弃了,表象和垃圾 - 您没有使用这是需要无障碍
<label>
(包括使点击目标复选框超过微小更大) - 您
出现使用表格布局 -
form
是是太普通了一个id - 更好的风格是
document.form.ID_OF_FORM.elements.NAMES_OF_CHECKBOXES[0]
- 的
checked
属性是一个布尔值,== true
是多余的
答
你有相同的id
属性的所有输入。这在语法上是非法的,也可能是你麻烦的原因。让每一个都独一无二。
你的PHP代码是无关紧要的,也是在路上。请显示您的PHP生成的代码,因为_that_是浏览器正在查看的内容。 – Phrogz 2011-01-07 06:39:11
-1用于以非语义方式使用表格和`font`元素。 – zzzzBov 2011-01-07 07:04:28