复选框取消选中IE10 + IE11的问题

时间:2013-12-09 13:27:17

标签: php internet-explorer checkbox

我对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改变什么。你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

1)尝试更改复选框值,例如“a1”,“a2”等。

2)尝试将复选框的名称更改为trainingseinheit[](不要忘记更改php)

相关问题