2010-05-27 6 views
2

j'ai le code HTML comme ceci:Bouton radio ne fonctionne pas dans Internet Explorer, mais fonctionne très bien dans Firefox

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'; 
    } 
}; 
} 

un

<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> 

fonctionne bien dans Firefox, mais ne travailler dans Internet Explorer.

des idées ce que ce pourrait être? les boutons affichent essentiellement l'une des 2 options, un ticket ou un e-mail, lorsque vous cliquez sur le ticket, il ne s'affiche pas.

si vous avez besoin de plus amples informations s'il vous plaît faites le moi savoir.

grâce

+0

Le code est incomplet. Veuillez mettre à jour votre question pour inclure un exemple ** minimum ** copy'n'paste'n'runnable de «» jusqu'à «» qui reproduit exactement tout le problème. Avec * minimum * je veux dire, pas de classes/éléments/scripts/etc inutiles/non pertinents. – BalusC

+0

Comment cela ne fonctionne-t-il pas dans IE? – Matchu

+0

Rien ne se passe lorsque vous cliquez sur le bouton radio Ticket. il reste juste sur EmailActionDescription, je ne peux pas vraiment mettre tout le code comme la page que je visualise/travaille est 6 fichiers HTML différents et est lié à beaucoup de code JavaScript, donc vous pouvez vraiment le reproduire. Je voyais juste si quelqu'un aurait pu avoir des idées, et j'apprécie chaque entrée et sugestions. –

Répondre

1
var tabs = document.getElementsByName("action_tab") 

D'abord, getElementsByName() est cassé dans IE. Utilisez plutôt getElementsByTagName() et/ou getElementById(). Ou mieux, utilisez jQuery et . Deuxièmement, cela ressemble à <div name="action_tab"> et ainsi de suite. L'élément HTML <div> n'a pas un attribut name spécifié et je doute si un attribut name personnalisé fonctionnera de cette façon dans IE avec getElementsByName().

+0

J'ai utilisé JQuery et je l'ai fonctionné maintenant, merci. –

1

Vous ne dit pas qui DOCTYPE que vous utilisez (le cas échéant), mais certainement avec attributs XHTML doivent avoir des valeurs, que votre checked attribut n'a pas. Vous pouvez essayer ceci:

<input type="radio" checked="checked" name="action_type" value="EmailActionDescription" onclick="toggle_action(this);"/><label>Email</label> 
+0

La question n'est pas à propos de xhtml – prostynick

+0

@prostynick Je sais que, je proposais une suggestion pour expliquer pourquoi cela ne fonctionne pas. –

+0

J'ai essayé que cela n'a pas fonctionné, merci pour la suggestion cependant. –

0

Puisque vous ne je ne peux pas poster deviner votre code toggle_action() que le problème est dans cette fonction. Et probablement si la fonction échoue, la routine de sélection de radiobutton est annulée. A quoi utilisez-vous la routine toggle_action() pour?

+0

fonction ajoutée dans la description –

Questions connexes