以下是我的代码:
<INPUT TYPE="checkbox" NAME="cb" value="1">
提交表单后,如果选中cb==1
元素,则会收到cb
,
如果未选中cb==0
元素,我想获取cb
。如何实现呢?
BTW:无法更改接收页面,例如:
if(cb==null)cb=0;// no no no..
我希望在网络前端客户端实现它。
我试过这样:
<INPUT TYPE="hidden" NAME="cb" value="0"> <!--add this line-->
<INPUT TYPE="checkbox" NAME="cb" value="1">
如果未选中cb
,则可以覆盖<INPUT TYPE="hidden" NAME="cb" value="0">
,否则我可以cb==0
。
但我觉得这个解决方案并不好。
任何想法? thx~:)
感谢wowo_999发表评论:
“我只是忽略复选框期间的值,并根据是否选中它来设置隐藏字段的值。建议的方式是在查询字符串中发送cb 2x的值选中该复选框。“ - wowo_999
在数据库中,我将cb字段默认值设置为“0”,但是当我插入或更新时,如果它为null,则显示:“java.sql.SQLException:Column'cb'不能为null”,所以,我需要cb == 0,而不是null。(我不能忽略sql查询字符串中的cb字段,因为我可能需要将cb更新为“0”。)
答案 0 :(得分:1)
您可以使用javascript检查是否取消选中,并在提交时将值更改为0并将其设置为已选中。
答案 1 :(得分:1)
如果您要使用复选框的值来设置隐藏输入的值,您也可以使用javascript来设置复选框的值。例如,使用jQuery:
$("input[type=checkbox]").change(function() {
$(this).attr("value", $(this).attr("checked") ? 1 : 0);
});
或者,让脚本也设置页面加载的值:
$(function() {
function updateCheckbox() {
$(this).attr("value", $(this).attr("checked") ? 1 : 0);
}
// Run whenever checkbox is ticked or unticked
$("input[type=checkbox]").change(updateCheckbox);
// Run on page load
updateCheckbox();
});
现在你也可以使用常规的HTML标记,没有任何隐藏的输入和没有值属性:
<input type="checkbox" name="cb" />
或者默认选中它:
<input type="checkbox" name="cb" checked />
答案 2 :(得分:0)
您不能在数据库中默认为“0”?