我对IE 10和复选框有一个大问题。 我使用了一些像这样的复选框:
<form method="post" action="">
<input id="trainingseinheit1" type="checkbox" checked="checked" value="1" name="trainingseinheit1"> 1
<br>
<input id="trainingseinheit2" type="checkbox" checked="checked" value="2" name="trainingseinheit2"> 2
<br>
<input id="trainingseinheit3" type="checkbox" checked="checked" value="3" name="trainingseinheit3"> 3
<br>
<input id="trainingseinheit4" type="checkbox" checked="checked" value="4" name="trainingseinheit4"> 4
<br>
<input id="trainingseinheit5" type="checkbox" checked="checked" value="5" name="trainingseinheit5"> 5
<br>
<input id="trainingseinheit6" type="checkbox" checked="checked" value="6" name="trainingseinheit6"> 6
<input type="hidden" name="teanzahl" value="6" />
</form>
发送后我会检查php检查哪个复选框并执行某些操作:
$zahl = 1;
while($zahl <= $_POST['teanzahl'])
{
$tezahl = "trainingseinheit".$zahl;
if(isset($_POST[$tezahl]))
{
// do something ...
}
$zahl++;
}
在Firefox,Chrome等中,它运行正常。 PHP代码实现了哪些元素被检查,哪些元素没有被检查。但是在IE10和IE11中它认为所有元素都被检查(即使我取消选中所有元素)。 另一个奇怪的事情是,当我回复复选框字段的值时,如下所示:
echo $tezahl." = ".$_POST[$tezahl]." ... ";
在Firefox中它看起来像这样:
trainingseinheit1 = 1 ...
trainingseinheit2 = 2 ...
trainingseinheit3 = 3 ...
trainingseinheit4 = 4 ...
...
但在IE10中看起来像这样:
trainingseinheit1 = 1 ...
trainingseinheit2 = 1 ...
trainingseinheit3 = 1 ...
trainingseinheit4 = 1 ...
...
所以在IE中它始终是值“1”。为什么?
我不知道我要为IE改变什么。你有什么想法吗?
答案 0 :(得分:0)
1)尝试更改复选框值,例如“a1”,“a2”等。
2)尝试将复选框的名称更改为trainingseinheit[]
(不要忘记更改php)