代码之家  ›  专栏  ›  技术社区  ›  Koerr

如何从checkbox元素获取默认值?

  •  3
  • Koerr  · 技术社区  · 15 年前

    下面是我的代码:

    <INPUT TYPE="checkbox" NAME="cb" value="1">
    

    提交表格后,我得到 cb==1 cb 元素已检查,

    我想得到 cb==0 断路器 元素未选中。如何实施?

    顺便说一句:无法更改接收页面,例如:

    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">
    

    断路器 如果未选中,则可以覆盖 <INPUT TYPE="hidden" NAME="cb" value="0"> 否则我可以得到 cb==0 .

    但我觉得这个办法不好。

    你知道吗?thx~:)


    谢谢你的评论:

    “我只需要忽略复选框句点的值,并根据是否选中它来设置隐藏字段的值。如果选中复选框,您建议的方法将发送查询字符串中cb 2x的值


    在数据库中,我将cb字段的默认值设置为“0”,但当我插入或更新时,如果它为null,则显示:“java.sql.SQLException:Column'cb'cannot be null”,因此,我需要cb==0,而不是null。(我不能忽略sql查询字符串中的cb字段,因为我可能需要将cb更新为“0”。)

    3 回复  |  直到 11 年前
        1
  •  1
  •   David Tang    15 年前

    如果要使用复选框的值来设置隐藏输入的值,那么不妨使用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
  •  1
  •   ssk    15 年前

    您可以在提交时使用javascript检查其是否未选中,并将值更改为0并将其设置为选中。

        3
  •  0
  •   LightningWrist    15 年前

    在数据库中不能默认为“0”?