<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns="http://www.w3.org/1999/xhtml">
< head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
< script type="text/JavaScript">
function onbutton(){
//document.getElementById("checkbox1").checked = false;
alert(document.getElementById("checkbox1").checked);
}
< /script>
< body>
< form method="get">
  <p><input type="checkbox" name="vehicle" value="Bike" /> I have a bike</p>
  <p><input type="checkbox" name="vehicle" id="checkbox1" value="Car" checked=""/> I have a car</p>
  <input type="button" value="点击" onclick="return onbutton()"  /><br/>

</form>
< /body>
< /html>

代码中 <input type="checkbox name=vehicle" id="checkbox1" value="Car checked=""/>i hava a car

只要出现了checked="",不管等于什么,可以等于checked="checked",甚至checked="false",其checkbox的属性checked都是true,在alert中输出其checked属性都是true.

如果在上述代码的onbutton()函数中把document.getElementById("checkbox1").checked = false;的注释去掉,则checkbox未被选中,注意这里false不能用引号括起来。

对于value属性,复选框的 value 属性值不会显示在用户界面中。value 属性用于表单数据的提交(只有选中的复选框才会传递数据到服务端,如果什么都没选则不传递复选框数据)。实际中有个例子:要实现一个表示子产品独立标志的复选框,checkbox的value=1,表示选中,0:不选中

本来是这么写的

function changeSub_fund_flag(){
 if(document.theform.sub_fund_flag.checked){
     document.theform.sub_fund_flag.value = 1;   //theform为checkbox所在的表单
 }else{
  document.theform.holidays_delay_flag1.value = 0;
 }
}

<td align="right">子产品资金独立标志:</td>
        <td>
         <input <%=display_select%> type="checkbox"  <%if(sub_fund_flag== 1) out.print("checked");%> onkeydown="javascript:nextKeyPress(this)"
            name="sub_fund_flag"  class="flatcheckbox"  onclick="return changeSub_fund_flag()">
        </td>

点击复选框,根据onclick事件处理,将value值设为1或0.这样提交表单的时候value值会被提交上去。

其实这有点多此一举,因为只要选中的复选框的数据才会提交。修改如下:

<td align="right">子产品资金独立标志:</td>
        <td>
         <input <%=display_select%> type="checkbox" value="1"  <%if(sub_fund_flag== 1) out.print("checked");%> onkeydown="javascript:nextKeyPress(this)"
            name="sub_fund_flag"  class="flatcheckbox">
        </td>

这样checkbox被选中时,它的value=1也被提交。如果没被选中,则value值不提交,即为null.

html checkbox的checked属性问题和value属性问题的更多相关文章

  1. jquery-1.10.2 获取checkbox的checked属性总是undefined

    项目中用的jquery-1.10.2 需要检测一个checkbox的选中状态,想当然的用 .attr("checked") ,结果发现,无论是否选中,这个值都是 undefined ...

  2. Input类型是checkbox时checked属性获取

    记录一下checkbox 的 checked 属性的获取办法,以备忘记: 假如你的一个HTML页中有这么一段代码: <input name="chbRem" id=" ...

  3. 点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件, jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态

    给tr添加点击事件,使用find方法查找tr下的所有层级的元素,children只查找下一层级的元素,所以使用find.find的返回值为jquery对象,在这个项目中不知道为什么使用jquery给c ...

  4. jQuery 操作复选框(checkbox) attr checked不起作用

    参考资料 http://www.paobuke.com/develop/javascript/pbk849.html   这天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 ...

  5. 对checkbox 的checked的一些总结

    在做一个jquery树形结构的复选框选择的效果. 遇到的问题: 1.jquery复选框判断是否被选中 $(check).attr("checked"),可能提示为undefied: ...

  6. $('#checkbox').attr('checked'); 返回的是checked或者是undefined解决办法

    $('#checkbox').attr('checked'); 返回的是checked或者是undefined解决办法 <input type='checkbox' id='cb'/>  ...

  7. Jquery 获取checkbox的checked问题

    这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠结... 事实证明一切,自己测试了N遍,发现网上的说法和自己以前的理解都是错的,不知道大家有没发现. 下面来看看网上大多资料的说 ...

  8. jQuery——操作复选框(checkbox) attr checked不起作用

    这天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 attr(‘checked’,'checked’);与attr(‘checked’,true); 都不好使,要么第一次成 ...

  9. Jquery 获取checkbox的checked问题以及解决方案

    转载自:http://www.cnblogs.com/-run/archive/2011/11/16/2251250.html 这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠 ...

  10. jquery 获取 checkbox 的 checked 状态问题

    这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠结... 事实证明一切,自己测试了N遍,发现网上的说法和自己以前的理解都是错的,不知道大家有没发现. 下面来看看网上大多资料的说 ...

随机推荐

  1. ElasticSearch 监控单个节点详解

    1.介绍 集群健康 就像是光谱的一端——对集群的所有信息进行高度概述. 而 节点统计值 API 则是在另一端.它提供一个让人眼花缭乱的统计数据的数组,包含集群的每一个节点统计值. 节点统计值 提供的统 ...

  2. Solr 6.6.0 ERROR: Port 8983 is already being used by another process.

    在目录D:\work\Solr\solr-6.6.0\bin下打开命令框: 输入:solr -e dih报错:ERROR: Port 8983 is already being used by ano ...

  3. ASP.NET MVC学习---(六)CRUD例子补充

    在之前,我们使用mvc做了一个crud的小例子 整个项目过程应该是能够很容易理解的 通过这个例子我们可以大概的了解mvc的基本使用方法 但是由于篇幅限制(还不如说自己懒不想写那么长...) 没有能够在 ...

  4. Intellij output 中文乱码

    使用intellij有一段时间了,intellij output中文乱码,每次使用这两点解决,就可以解决乱码问题. 1.修改启动参数 修改安装Intellij目录下的C:\Program Files ...

  5. Jscript 随记

    1.Jscript 不能用来编写独立执行的应用程序,而且没有对读写文件的内置支持. 2.注意,语句块中的原始语句以分号结束.但语句块本身并不以分号结束. 3.注意,Jscript 与 C++ 以及其它 ...

  6. TCO'10 Wildcard Round 1000pt

    题目大意: 给定一个N*M的棋盘,棋子可以攻击其左右距离不超过K的棋子.问有多少种放法使得棋盘上的棋子不能互相攻击. N,M,K都在1到1000000000的范围内,结果对100003取模. 官方题解 ...

  7. <p>在静态类junit.framework.Assert或者静态类org.junit.Assert中存在下面几个方法</p>

    在静态类junit.framework.Assert或者静态类org.junit.Assert中存在下面几个方法 1.assertEquals()方法,用来查看对象中存的值是否是期待的值,与字符串比較 ...

  8. Hbase笔记:批量导入

    工作中可能会有对HBase的复杂操作,我们现在对HBase的操作太简单了.复杂操作一般用HBaseScan操作,还有用框架对HBase进行复杂操作,iparler,sharker.我们说HBase是数 ...

  9. 后期给项目加入Git版本控制

    一.为项目加上Git 1.进入对应文件夹 2.git init(初始化一个空的代码仓库) 3.git add .(将当前目录和子目录的文件标记为要添加到代码仓库) 4.git commit -m &q ...

  10. win10 microsoft edge 浏览器收藏夹位置

    1.打开文件夹,找到(注意 用户名 改为你自己的用户名) C:\Users\用户名\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bb ...