Динамический выбор html-кнопки через javascript не работает в IE - PullRequest
0 голосов
/ 07 октября 2010

Я хочу выбрать радиокнопку из JavaScript. Я использую этот простой HTML-файл, чтобы проверить проблему. Приведенный ниже код корректно работает на Firefox и Chrome, однако он не работает в IE (ни одна версия не работает). Я хотел бы знать, почему предоставленный код не работает в IE, и как выбрать переключатель в IE?

<html>
<head>
    <script type="text/javascript">
        function chooseOne()
        {
            var randomChoice = Math.round(Math.random() * 2);

            if(randomChoice == 0)
            {
                document.getElementById("test0").checked = true;
            }
            else if (randomChoice == 1)
            {
                document.getElementById("test1").checked = true;
            }
            else
            {
                document.getElementById("test2").checked = true;
            }
        }
    </script>
</head>
<body>
    <input type="radio" id="test0" name="test" value="a" /> A<br />
    <input type="radio" id="test1" name="test" value="b" /> B<br />
    <input type="radio" id="test2" name="test" value="c" /> C<br />
    <input type="button" name="click" value="CHOOSE" onclick="javascript:chooseOne()" />
</body>

Заранее спасибо, Спи

Ответы [ 3 ]

2 голосов
/ 07 октября 2010

Прежде всего, вы должны присвоить всем вашим радио-кнопкам одинаковые name, иначе они будут действовать так, как если бы они были независимыми кнопками:

<input type="radio" name="test" id="test0" value="a" /> A<br />
<input type="radio" name="test" id="test1" value="b" /> B<br />
<input type="radio" name="test" id="test2" value="c" /> C<br />

Я предполагаю, что это также источниктвоя проблема.Кроме того, после того, как вы это сделаете, вам нужно будет установить только одну радиокнопку checked на true, которая автоматически удалит выбор из других кнопок.

0 голосов
/ 07 октября 2010

Одна проблема: var randomChoice = Math.round(Math.random() * 2);

всегда будет уступать 1

0 голосов
/ 07 октября 2010

Я не уверен, но, возможно, вы должны сказать IE, что ваш код onclick написан на javascript так:

<input type="button" name="click" value="CHOOSE" onclick="javascript:chooseOne()" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...