Radio Button не работает в Internet Explorer, но отлично работает в Firefox - PullRequest
2 голосов
/ 27 мая 2010

У меня есть HTML-код, например:

function toggle_action(type) {
var tabs = document.getElementsByName("action_tab")
for(var i = 0 ; i < tabs.length; i++){
    //alert(" i = " + i + " length=" + tabs.length );
    if(tabs[i].id == type.value){
        tabs[i].style.display='inline';
    }else{
        tabs[i].style.display='none';
    }
};
}

а

<div id="action_types">
   <input type="radio" checked name="action_type" value="EmailActionDescription"  onclick="toggle_action(this);"/><label>Email</label>
   <input type="radio" name="action_type" value="TicketActionDescription" onclick="toggle_action(this);"/><label>Ticket</label>
</div>

отлично работает в Firefox, но не работает в Internet Explorer.

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

если вам требуется дополнительная информация, пожалуйста, дайте мне знать.

спасибо

Ответы [ 3 ]

1 голос
/ 27 мая 2010
var tabs = document.getElementsByName("action_tab")

Во-первых, getElementsByName() не работает в IE. Скорее используйте getElementsByTagName() и / или getElementById(). Или лучше используйте jQuery и $('[name=action_tab]').

Во-вторых, это звучит как <div name="action_tab"> и так далее. Элемент HTML <div> не имеет указанного атрибута name, и я сомневаюсь, что собственный атрибут name будет работать таким же образом в IE с getElementsByName().

1 голос
/ 27 мая 2010

Вы не указываете, какой DOCTYPE вы используете (если есть), но, безусловно, с атрибутами XHTML должны быть значения, которых нет у вашего атрибута checked. Вы можете попробовать это:

<input type="radio" checked="checked" name="action_type" value="EmailActionDescription"  onclick="toggle_action(this);"/><label>Email</label>
0 голосов
/ 27 мая 2010

Поскольку вы не публикуете свой код toggle_action (), я могу только догадываться, что проблема в этой функции. И, возможно, в случае сбоя функции процедура выбора радиокнопки отменяется.

Для чего вы используете процедуру toggle_action ()?

...