我是Java的新手。我想通过使用此关键字单击复选框输入类型来更改名称属性的值。 代码的主要目的是,我希望在单击Preferences时将元素的值保存在php中的数组中。例如,如果我首先单击Oranges复选框,则Oranges的name属性的值应为“ fruits [0]”;如果我取消选中复选框,则Oranges的name属性值应为“ fruits []”,并且所有属性都相同。当我单击提交值时,应根据索引将其附加在php数组中。 我会感激你的
</head>
<body>
<form action="<?php $_PHP_SELF ?>" method="POST">
Apples:<input onclick="values()" id="chkbox(this)" type="checkbox" name="fruits[]" value="Apples">
<br><br>
Oranges:<input onclick="values()" id="chkbox(this)" type="checkbox" name="fruits[]" value="Oranges">
<br><br>
Pears:<input onclick="values()" id="chkbox(this)" type="checkbox" name="fruits[]" value='Pears'>
<br><br>
<input type='submit' value="submit">
</form>
<script>
var test=0;
function values()
{
if(checkbox.checked == true)
{
if(test==0)
{
document.getElementById('chkbox(this)').name='fruits[',test,']';
}
else
{
test=test+1;
document.getElementById('chkbox(this)').name='fruits[',test,']';
}
}
else
{
test=test-1;
document.getElementById('chkbox(this)').name='fruits[]';
}
}
</script>
</body>
</html>
<?php
$fruits=$_REQUEST["fruits"];
echo $fruits[1];
?>
答案 0 :(得分:0)
在“值”功能中,我没有看到已经定义了复选框对象,这可能是您的问题。
尝试编辑输入onclick属性,以使其在参数内显示“ this”。然后使用“ arguments [0] .checked”代替“ checkbox.checked”。
我认为这行得通,祝您好运!
编辑:我不明白为什么(this)包含您的复选框的ID?
第一个if语句的提示:如果删除“ == true”部分,代码仍将运行。
替换test = test + 1;和test = test-1;与测试++;并测试-;
祝您Java脚本好运!
答案 1 :(得分:0)
尝试一下:
</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];
?>