vérifier si au moins un bouton radio a été sélectionné - JavaScript
Censés j'ai eu la suivante HTML
forme:
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Choose</title>
</head>
<body>
<form method="post" enctype="application/x-www-form-urlencoded">
<h1>Choose</h1>
<p><input type="radio" name="choose" value="psychology"><font size="5" color="#0033CC">Instant Psychology</font><br>
<br>
<input type="radio" name="choose" value="geography"><font size="5" color="#CC0000">Instant Geography</font><br>
<br>
<input type="radio" name="choose" value="gastronomy"><font size="5" color="#660033">Instant Gastronomy</font><br>
<br>
<input type="submit" name="Submit" value="Go"></p>
</form>
</body><link rel="stylesheet" type="text/css" href="data:text/css,"></html>
Comment puis-je écrire un JavaScript
fonction pour au moins une entrée radio a été sélectionné?
source d'informationauteur cybertextron
Vous devez vous connecter pour publier un commentaire.
En boucle sur le
<input>
étiquettes, vérifiez le type et si elle est cochée.Ici, il est en action sur jsfiddle
Quelque chose comme cela devrait faire l'affaire
Mise à JOUR
Ne pas voir qu'il n'est pas censé avoir de jQuery, voici donc une autre fonction pour vérifier que dans le plus pur JS
C'est possible de le faire sans javascript si votre cible navigateurs prennent en charge la HTML5 nécessaire attribut.
Noter que dans google chrome, vous avez seulement besoin de mettre
required
sur l'une des entrées. Je ne suis pas sûr de ce que les autres navigateurs n'.J'ai l'habitude de le faire en plus d'une validation javascript (comme les réponses sélectionnées), de sorte que html 4 navigateurs sont pris en charge.
Puisque vous avez dit que vous besoin de savoir si " au moins une entrée est sélectionnée, vous voulez probablement cases plutôt que des boutons radio. (Vous pouvez uniquement sélectionner un bouton radio à une heure à partir d'un groupe de boutons radio qui partagent une
name
valeur.)Vous devriez probablement tomber le
font
balises et mise à jour de votre code HTML un peu trop:HTML
CSS
JavaScript
Je l'ai résolu de cette façon.