浏览 325 次
|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-07-04
html:checkbox中本没有值,我要判断它是否被选中,如果选中把它的值设为1,没有选中把它的值设为0;
我的代码如下: 1.js <script type="text/javascript"> function getValue() { var ischecked=document.getElementById("iseditable"); if(ischecked.checked==true) { document.getElementById("iseditable").value=1; alert("***1***"+document.getElementById("iseditable").value); } else { document.getElementById("iseditable").value=0; alert("***0***"+document.getElementById("iseditable").value); } } </script> 2.html:checkbox <tr> <th>是否可编辑</th> <td><html:checkbox property="dictIseditable" styleId="iseditable" onclick="getValue();" value="0"></html:checkbox></td> <th> </th> <td> </td> </tr> 无论我选中与否数据库插入的时候始终是1。 实在不知道问题出在哪里, 请哪位指点迷经, 先谢了! 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-04
前台问题:这就是你采用这个checkbox的问题了,当checkbox未被选中的时候,value是不会传到后台的,只有选中了才会将value传到后台(前提是你用的form提交)
后台问题:是否你的action作用域是单例,值未被重新覆盖? |
|
| 返回顶楼 | |
|
最后更新时间:2008-07-04
我觉得这段代码本身没有问题。你在写数据到数据库的时候,写动作的位置 应该查看一下
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-08
谢谢各位了
在同学的帮助下 我解决问题了 原来 html:checkbox 在默认情况下的值是 on 我就把 ActionForm 里面的数据类型改为了 boolean 类型 然后直接在 Action 里面判断是 true or false boolean iseditable=false; iseditable=dictForm.isDictIseditable(); if(iseditable==true){ bdv.setDictIsEditable(Byte.parseByte("1")); }else{ bdv.setDictIsEditable(Byte.parseByte("0")); } 这样就可以了 再次谢谢各位的回答 |
|
| 返回顶楼 | |




