- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 php 生成的包含 27 个复选框的数组。手动选中复选框效果很好。复选框放置在一个 html 表中(包括其他表格日期),(所有在表单标签内)名称 =“chk[]' 和值 ='Index Number' 的数组(0-27)以通常的形式的
当我执行典型的 Java 脚本“全部选中”功能(通过 link_click 或 button_click)时,所有复选框都显示为“已选中”。但是,没有提交任何内容。当我提交时,Print_r 显示'chk'数组确实是空的!
如果我手动设置复选框,则会发布 $_POST('chk') 数组,一切都会按预期进行。
似乎在使用 Javascript 选中复选框时,¡checked' 值不会被发布。
只要使用 Javascript 设置“显示”值,Print_r 就会确认“chk”数组为空!
任何人都可以尝试向我解释为什么复选框的“显示值”没有反射(reflect)或包含在帖子中吗?
该页面在 W3C 上验证 好的,我已经爬过我的代码,但找不到任何可能的错误。平台为 Win7/Wamp Sever/Firefox。 Google/StackOverflow 搜索未显示任何类似的症状/解决方案。
非常感谢任何对此问题有想法的人。
我使用的 javascript CheckAll 函数是 -
function checkall(frm) {
for (var i=0; i<frm.elements.length; i++) {
if (frm.elements[i].name = "chk")
{frm.elements[i].checked = true;}
}
}
27个复选框的数组是普通数组格式,'value'是数组索引。
<tr><td><input type='checkbox' title='' name='chk[]' value='6' ></td> text label </tr>
最佳答案
你的 if 条件有两个错误。
你的 checkall 函数应该是:
function checkall(frm) {
for (var i=0; i<frm.elements.length; i++) {
if (frm.elements[i].name == "chk[]")
frm.elements[i].checked = true;
}
}
现在您可能想知道这与未提交的值到底有什么关系,为什么要检查它们,我可以解释一下。
您当前的代码正在为复选框元素分配一个新名称“chk”(请参阅为什么您的条件甚至不是条件的原因 1),并且由于它不是条件,if 语句始终为真,并且代码段将选中的值设置为 true 的代码正在执行,这就是为什么您可以看到选中的元素。现在,当您在 PHP 中请求 $_POST['chk[]'] 时,您什么也得不到,因为元素的名称都被您假设的(如果是“条件”)更改为“chk”。
关于javascript - 使用 javascript 选中的复选框不会 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25778026/
我是一名优秀的程序员,十分优秀!