85 votes

Activer le bouton radio HTML en cliquant sur son étiquette

Existe-t-il un moyen simple de créer un bouton radio-bascule - lorsqu'un texte situé près de celui-ci est cliqué - sans introduire de grand framework Javascript dans mon petit projet PHP?

Le formulaire Web ressemble à ceci:

 <html>
<body>
<form method="post">
<p>Mode:<br /> 
<input type="radio" name="mode" value="create"><i>create table</i><br />
<input type="radio" name="mode" value="select" checked>select records (can specify id)<br />
<input type="radio" name="mode" value="insert">insert 1 record (must specify all)<br />
<input type="radio" name="mode" value="delete">delete records (must specify id)<br />
<input type="radio" name="mode" value="drop"><i>drop table</i><br />
</p>
<p>Id: <input type="text" name="id" size=32 maxlength=32 /> (32 hex chars)</p>

<p>Latitude: <input type="text" name="lat" size=10 /> (between -90 and 90)</p>
<p>Longitude: <input type="text" name="lng" size=10 /> (between -90 and 90)</p>
<p>Speed: <input type="text" name="spd" size=10 /> (not negative)</p>
<p><input type="submit" value="OK" /></p>
</form>
</body>
</html>
 

159voto

Nick Craver Points 313913

Vous pouvez également encapsuler vos éléments sans leur attribuer un ID, puisqu'un <label> correspond implicitement à l'entrée qu'il contient, comme ceci:

 <label>
   <input type="radio" name="mode" value="create">
   <i>create table</i>
</label>
 

67voto

Frédéric Hamidi Points 123646

Vous pouvez utiliser les éléments <label> , conçus pour faire exactement cela:

 <input type="radio" id="radCreateMode" name="mode" value="create" />
<label for="radCreateMode"><i>create table</i></label>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X