使用php和javascript时在复选框名称中使用括号?
发布时间:2020-12-13 16:30:02 所属栏目:PHP教程 来源:网络整理
导读:我有一个带有这样的复选框的表单: input type="checkbox" name="type[]" value="1" /Fast Foodbr input type="checkbox" name="type[]" value="2" /Table Servicebr input type="checkbox" name="type[]" value="3" /Cafeteriabr 当我使用名称中的括号(类型
我有一个带有这样的复选框的表单:
<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> 当我使用名称中的括号(类型[])时,我的php工作: $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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |