加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读