L'obtention de la radio choisie, sans l'aide de “Id”, mais “nom”
J'essayais d'être sélectionné, le bouton radio à l'aide de "document.getElementByName('nameOfradio')" parce que tous les boutons de la radio partagent le même nom. Mais, rien ne s'est passé. J'ai essayé la même chose avec le document.getElementById ("nameOfradio') et bien travaillé.Cependant, j'ai eu à donner des id unique pour tous les boutons radio. De sorte que, il tourne laid quand j'ai 20 boutons radio. En conséquence, ce que je voulais est faire un raccourci. Comment puis-je obtenir la valeur du bouton radio sélectionné à l'aide de leur "nom"? Codes;
Html
<input type="radio" name="nameOfradio" value="onm1" /> 1
<input type="radio" name="nameOfradio" value="onm2" /> 2
<input type='button' onclick='radio3()' value='Submit' />
</form>
Ajax(relavant partie de radio3())
var radioPushed = document.getElementByName('nameOfradio').value;
var queryString = "?radioPushed=" + radioPushed;//to send the value to another file
ajaxRequest.open("GET", "radio_display.php" + queryString, true);
ajaxRequest.send(null);
Comme je l'ai dit document.getElementById travaillé, mais il nécessite trop de travail:( Comment puis-je faire plus simple en utilisant la caractéristique commune de boutons radio, au lieu de leur donner des id uniques? Une brève explication des raisons pour lesquelles je ne pouvais pas faire il serait très utile(à nouveau en javascript et ajax)
document.getElementByName()
n'est pas une fonction en JavaScript. Faute de frappe? "L'élément" doit être au pluriel.- document.getElementsByName() serait le plus proche de l'actualité.
Vous devez vous connecter pour publier un commentaire.
Démo: http://jsfiddle.net/majidf/LhDXG/
Balisage
JS
javascript:
préfixe dans votreonclick
attribut.Cette ligne:
devrait être:
à l'aide de querySelector
Noter que CSS pseudo-classes sont accessibles par un deux-points (:).
Par exemple:-
Aussi, vous pouvez ajouter un
checked
attribut par défaut d'un bouton radio dans le groupe de boutons radio si nécessaireVous épargner un peu de douleur dans le plus tard js dev et utiliser une bibliothèque js comme jQuery. Ensuite, vous pouvez faire quelque chose comme
$('input[name=radioName]:checked').val()
C'est exactement pourquoi vous devez utiliser une bibliothèque javascript.
par exemple n'est pas pris en charge avant de IE8.
Laissez la bibliothèque de gérer le navigateur de folie.
En jQuery, vous pouvez simplement utiliser
$('input[name=radioName]:checked').val()
ou$("form").serialize()
et être fait avec elle.Vous pouvez utiliser le
class
bien, si vous recherchez une solution rapide. De nombreux éléments peuvent avoir le mêmeclass
. utilisez la commande:En outre, vous devez utiliser la forme correcte de l'obtention des éléments par nom qui est:
Vous pouvez également utiliser le code suivant pour trouver la radio sélectionnée valeur comme suit: