我有一个带有这样的复选框的表单:
<input type="checkBox" name="type[]" value="1" />Fast Food<br> <input type="checkBox" name="type[]" value="2" />Table Service<br> <input type="checkBox" name="type[]" value="3" />Cafeteria<br>
$type=$_POST['type']; echo "types are:"; for ( $counter = 0; $counter < sizeof($type); $counter += 1) { echo "<br>".$type[$counter]; }
但我的JavaScript不起作用:
var f = document.addform; for (var i=0;i<f.type.length;i++){ if(f.type[i].checked==true){ break; } if(i==(f.type.length-1)){ alert("No categories entered!"); valid=false; } }
但是,如果我拿走括号:
<input type="checkBox" name="type" value="1" />Fast Food<br>
然后PHP不起作用,但javascript确实如此.
这里发生了什么?我应该用什么?
谢谢.
PHP有一个不寻常的系统来处理具有相同名称的多个表单控件,它希望名称包含[]但它不会在变量名中使用它们.
JavaScript没有这个问题.该物业仍然有括号.
当然,方括号在JS中具有特殊含义,因此您不能使用点表示法来访问该属性.
f['type[]'][i].checked
原文地址:https://www.jb51.cc/php/132940.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。