Javascript 如何在输入标记';s id和更改值onclick()事件
我是Javascript新手。我想通过使用这个关键字单击复选框input type来更改name属性的值。 代码的主要目的是在单击首选项时将元素的值保存在php中的数组中。例如,如果我首先单击Oranges复选框,则Oranges的name属性值应为“水果[0]”;如果我取消选中复选框,橙子的name属性的值应该是“fruits[]”,并且对所有的橙子都是一样的。当我单击submit时,应该根据索引将值附加到php数组中。 我会感谢你的。Javascript 如何在输入标记';s id和更改值onclick()事件,javascript,html,Javascript,Html,我是Javascript新手。我想通过使用这个关键字单击复选框input type来更改name属性的值。 代码的主要目的是在单击首选项时将元素的值保存在php中的数组中。例如,如果我首先单击Oranges复选框,则Oranges的name属性值应为“水果[0]”;如果我取消选中复选框,橙子的name属性的值应该是“fruits[]”,并且对所有的橙子都是一样的。当我单击submit时,应该根据索引将值附加到php数组中。 我会感谢你的。 在“values”函数中,我没有看到复选框对象已经定
在“values”函数中,我没有看到复选框对象已经定义,这可能是您的问题
尝试编辑inputs onclick属性,使其在参数中显示“this”。然后,不再使用“复选框”。选中“使用”参数[0]。选中”
我想那会有用的,祝你好运
编辑:我不明白为什么你的复选框的ID包含在(这个)中
还有关于第一条if语句的提示:如果删除“==true”部分,代码仍将运行
更换试验=试验+1;和试验=试验-1;使用test++;测试--
祝Javascript好运 试试这个:
</head>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Apples:<input onclick="values(this)" id="chkbox0" type="checkbox" name="fruits[]" value="Apples">
<br><br>
Oranges:<input onclick="values(this)" id="chkbox1" type="checkbox" name="fruits[]" value="Oranges">
<br><br>
Pears:<input onclick="values(this)" id="chkbox2" type="checkbox" name="fruits[]" value='Pears'>
<br><br>
<input type='submit' value="submit">
</form>
<script>
var test=0;
function values()
{ var element = arguments[0];
if(element.checked)
{
if(test==0)
{
element.name='fruits['+test+']';
}
else
{
test++;
element.name='fruits['+test+']';
}
}
else
{
test--;
element.name='fruits[]';
}
}
</script>
</body>
</html>
<?php
$fruits=$_REQUEST["fruits"];
echo $fruits[1];
?>
当您内联定义事件处理程序时,您必须手动传递此
参数(例如onclick=“values(this)”
)-如果您使用javascript和addEventListener绑定处理程序,您不必担心。谢谢您先生宝贵的回答,我会帮我很多忙。是的,你是对的,几天后我遇到了这个问题,我刚通过addEventListener,它比以前的问题更有用谢谢你的回答
</head>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Apples:<input onclick="values(this)" id="chkbox0" type="checkbox" name="fruits[]" value="Apples">
<br><br>
Oranges:<input onclick="values(this)" id="chkbox1" type="checkbox" name="fruits[]" value="Oranges">
<br><br>
Pears:<input onclick="values(this)" id="chkbox2" type="checkbox" name="fruits[]" value='Pears'>
<br><br>
<input type='submit' value="submit">
</form>
<script>
var test=0;
function values()
{ var element = arguments[0];
if(element.checked)
{
if(test==0)
{
element.name='fruits['+test+']';
}
else
{
test++;
element.name='fruits['+test+']';
}
}
else
{
test--;
element.name='fruits[]';
}
}
</script>
</body>
</html>
<?php
$fruits=$_REQUEST["fruits"];
echo $fruits[1];
?>