web-dev-qa-db-fra.com

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é à proximité est cliqué - sans introduire de grand framework Javascript dans mon petit projet PHP projet?)?

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>
80
Alexander Farber

Vous pouvez également envelopper vos éléments sans en leur attribuant chacun un identifiant, puisqu'un <label> est implicitement pour l'entrée qu'il contient, comme ceci:

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

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

<input type="radio" id="radCreateMode" name="mode" value="create" />
<label for="radCreateMode"><i>create table</i></label>
63
Frédéric Hamidi

Envelopper l'entrée sous l'étiquette devrait fonctionner.

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

J'ai eu du mal à trouver la valeur du bouton radio en utilisant cette méthode, une alternative consiste à utiliser une zone active augmentation de la zone cliquable d'un bouton .

1
Christopher Grigg