<script language="javascript" type="text/javascript">
function uptPower(pgid, powerid) {
alert(document.chkForm.chkPower.checked); // underfined
if (document.chkForm.chkPower.checked) {
alert("==");
} else {
alert("~?~");
}

jsp:<form name="chkForm">
<c:forEach var="tmp" items="${pg}">
<tr>
<td>${tmp.id}</td>
<td>
<input type="checkbox" name="chkPower" 
onclick="javasrcipt:uptPower('${tmp.id}', '${tmp.pid}')"
<c:if test="${tmp.power == true}">checked</c:if> />
</td>
</tr>
</c:forEach>
</form>
为什么 alert(document.chkForm.chkPower.checked); 这里会出现 underfined谢谢

解决方案 »

  1.   

    应该不会是undefined,你检查一下,界面上生成的html呢。
      

  2.   

    你这里应该有多个chkPower,这样document.chkForm.chkPower是无法确定使用哪个
      

  3.   

    值不对,一般不要这么写document.chkForm.chkPower.checked 这个值不明确所以才会出现undefined
      

  4.   

    这个说的对,  你获取的是个数组, 数组肯定没有checked属性啊!
      

  5.   

    你的chkPower因为遍历 有多个了吧。加个下标[0] 试试