9
votes

Obtenir la radio sélectionnée sans utiliser "ID" mais "Nom"

J'essayais d'obtenir un bouton radio sélectionné à l'aide de "document.getelementyName (" nameofradio ")" car toutes les boutons radio partagent le même nom. Mais rien ne s'est passé. J'ai essayé la même chose avec Document.getElementyID ('Nameofradio') et a bien fonctionné. Toutefois, je devais donner un identifiant unique pour tous les boutons radio. Donc, cela tourne laid quand j'ai 20 boutons radio. En conséquence, ce que je voulais faire un raccourci. Comment puis-je obtenir la valeur du bouton radio sélectionné en utilisant leur "nom"? Codes;

html xxx

ajax (une partie relavante de radio3 ()) xxx

Comme je l'ai dit document.GetElementyID a fonctionné, mais cela nécessite trop de travail :( Comment puis-je le rendre plus simple en utilisant une fonctionnalité commune des boutons radio, au lieu de leur donner une identification unique? Une courte explication Pourquoi je ne pouvais pas Faites qu'il serait très utile (nouveau dans JavaScript et Ajax)


2 commentaires

document.getelementyName () n'est pas une fonction en JavaScript. Faute de frappe? "Element" devrait être pluriel.


document.getelementsBynameName () serait le plus proche valide.


6 Réponses :


31
votes

Cette ligne: xxx

doit être: xxx

utilisant QuerySelector

Notez que les pseudo-classes CSS sont accessibles par un Colon (:).


0 commentaires

0
votes

Vous pouvez utiliser la propriété Classe CODE> si vous recherchez une solution rapide. De nombreux éléments peuvent avoir la même classe code>. Utilisez la commande:

radioObj=document.getElementsById('nameOfradio');
var radioLength = radioObj.length;
if(radioLength == undefined) {
    if(radioObj.checked) {
        return radioObj.value;
    } else {
        return "";
    }
}
for(var i = 0; i < radioLength; i++) {
    if(radioObj[i].checked) {
        return radioObj[i].value;
    }
}
return "";


1 commentaires

Il doit encore déterminer ce que l'on est sélectionné.



1
votes

Sauvegardez-vous une certaine douleur dans le dernier JS Dev et utilisez une bibliothèque JS comme JQuery. Ensuite, vous pouvez faire quelque chose comme $ ('INPUT [nom = radioname]: vérifié'). Val ()


0 commentaires

1
votes

C'est exactement pourquoi vous devriez utiliser une bibliothèque JavaScript. xxx

par exemple n'est pas supporté avant IE8.

Laissez la bibliothèque gérer la folie du navigateur.

in jQuery Vous pouvez simplement utiliser $ ("entrée [nom = radioname]: vérifié '). Val () ou $ (" formulaire "). Serialize () et être fait avec elle.


0 commentaires

5
votes

La réponse de Joe devrait être la réponse acceptée.


4 commentaires

Je viens de poster la même chose, mais tu étais d'abord. +1.


Bien que vous puissiez supprimer le JavaScript: préfixe dans votre onclick attribut.


Et j'ai remarqué que vous avez supprimé le vôtre quand je voulais la remettre;)


Corrigé, merci - j'ai également emprunté le retour vide de votre code;) Mais même maintenant, cela n'est pas très robuste.



4
votes
<input type="radio" name="gender" value="male" checked> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other

0 commentaires