vee*_*vee 6 javascript php forms checkbox brackets
我有一个带有这样的复选框的表单:
<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>
Run Code Online (Sandbox Code Playgroud)
当我使用名称中的括号(类型[])时,我的php工作:
$type=$_POST['type'];
echo "types are:";
for ( $counter = 0; $counter < sizeof($type); $counter += 1) {
echo "<br>".$type[$counter];
}
Run Code Online (Sandbox Code Playgroud)
但我的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;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我拿走括号:
<input type="checkbox" name="type" value="1" />Fast Food<br>
Run Code Online (Sandbox Code Playgroud)
然后PHP不起作用,但javascript确实如此.
这里发生了什么?我应该用什么?
谢谢.
PHP有一个不寻常的系统来处理具有相同名称的多个表单控件,它希望包含名称,[]但它不会在变量名中使用它们.
JavaScript没有这个问题.该物业仍然有括号.
当然,方括号在JS中具有特殊含义,因此您不能使用点表示法来访问该属性.
f['type[]'][i].checked
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2939 次 |
| 最近记录: |