`

checkbox未选中状态不传递value的解决办法

 
阅读更多

<input type="checkbox" name="IsYellow" value="1" />

  做了一列name=IsYellow的checkbox,要求是保持整个序列的完整提交。后来发现checkbox 如果没有checked(选中状态),就不传递value值。也就是说做了10个checkbox,选中n个,那么传递value值的数组长度就是n。

  为了保持传递数据的完整性,有人说为每个checkbox配备一个hidden类型的表单对象来存放数据。这个方法可行但是代码量太大。尤其是当你希望这系列checkbox的name相同时,你就必须为每个checkbox增加id属性来和hidden类型对象对接。本人采用了另外一个方法,如下。

//验证表单正确性
function checkForm()
{
       var t1 = document.getElementById("enterPenal").getElementsByTagName("input");
       for(i=0;i<t1.length;i++)
       {
           if(t1[i].type == "checkbox")
           {
               if(!(t1[i].checked))
               {
                   t1[i].checked = true;
                   t1[i].value = "0";
               }
           }
       }
       return true;
}

 就是在表单提交之前,将checkbox序列全部checked(选中状态),并将其value(值)设置为0。红色背景部分为checkbox序列所在父对象,此举为了提高运算速度。

  经过此方法过滤后,checkbox序列被完整提交,原本被用户选定的checkbox的value为1,未被选定的value为0。

分享到:
评论

相关推荐

    在layer弹出层中通过ajax返回html拼接字符串填充数据的方法

    1,在给一个layer弹出层做checkbox自动选中时,ViewBag传递的时object类型,用不了lambda表达式,代码如下, @foreach (var perm in ViewBag.allPerms) { &lt;input type="checkbox" id="permissionIds_@perm.Id...

    前端与移动开发之表单

    ④name属性可以自定义名字 value一般设置为空(有实际意义的选项除外,否则不能向后台传递数据 每个选项的value值不能相同) ⑤后端提交的数据 name的属性值=value的值(输入框中的内容) ⑥checked=...

    JS获取复选框的值,并传递到后台的实现方法

    input type=’checkbox’ name=’checkTheme’ value='”&gt; 我在提交的时候onclick=”aa();” function aa() { var bb = ; var temp = ; var a = document.getElementsByName(checkTheme); for ( var i = 0; i &...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...

    ExtAspNet_v2.3.2_dll

    -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());...

    C# for CSDN 乱七八糟的看不懂

    数组长度 line0.GetLength(1) 数组赋值 可以从一个已经赋值的数组 array2 向未赋值的同等数组 array1 赋值,用 array1=array2; 这时,array1 就变成和 array2 一样的数组了。 集合 集合的使用 集合可以看成是可以...

    jQuery完全实例.rar

    这个函数最基本的用法就是向它传递一个表达式(通常由 CSS 选择器组成),然后根据这个表达式来查找所有匹配的元素。 默认情况下, 如果没有指定context参数,$()将在当前的 HTML 文档中查找 DOM 元素;如果指定了 ...

    正则表达式

    \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,...

    C++MFC教程

    3、未处理的消息到那里去了:M$为窗口编写了默认的窗口过程,这个窗口过程将负责处理那些你不处理消息。正因为有了这个默认窗口过程我们才可以利用Windows的窗口进行开发而不必过多关注窗口各种消息的处理。例如窗口...

    jQuery详细教程

    jQuery 使用名为 noConflict() 的方法来解决该问题。 var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。 亲自试一试 结论 由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循...

    js使用小技巧

    checkbox扁平 &lt;input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"&gt; 获取选中内容 document.selection.createRange().duplicate().text 自动完成功能 打开该功能 关闭该功能 ...

    html入门到放弃笔记

    4、一个元素允许有多属性,多属性间,排名不分先后,中间用 空格 隔开即可 Demo : 1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这...

    ASP.NET程序中常用的三十三种代码.txt

    选中"&gt; &lt;HEADERSTYLE wrap="False" horizontalalign="Center"&gt;&lt;/HEADERSTYLE&gt; &lt;ASP:CHECKBOX id="chkExport" runat="server" /&gt; &lt;ASP:CHECKBOX id="chkExportON" runat="server" enabled="true" /&gt;  后台...

    ASP.NET常用代码

    6.表格超连接列传递参数 号" DataTextField="id" NavigateUrl="aaa.aspx?id='(Container.DataItem, "数据字段1")%&gt;' & name='(Container.DataItem, "数据字段2")%&gt;' /&gt; 7.表格点击改变颜色 if (e.Item.ItemType ==...

Global site tag (gtag.js) - Google Analytics