¿Cómo permitir que solo se marque un botón de radio?


145
{% for each in AnswerQuery %}
    <form action={{address}}>
        <span>{{each.answer}}</span><input type='radio'>
        <span>Votes:{{each.answercount}}</span>
        <br>
    </form>
{% endfor %}

Esta es una parte de mi plantilla de django , lo que se supone que debe hacer es imprimir varios botones de radio, correspondientes a las respuestas asignadas a los botones. Pero no sé por qué puedo marcar varios botones de radio, lo que me confundió. Se supone que solo me permite ver un botón de radio y lo tenía de alguna manera, pero lo perdí. ¿Alguna ayuda? Gracias.

Respuestas:


433

Simplemente deles el mismo nombre:

<input type="radio" name="radAnswer" />

Dios mío ... bueno, si no les asigno nombres. todos deberían tener una cadena vacía como nombre por defecto, ¿verdad? Gracias
Clinteney Hui

20
@Clinteney sin un nombre no son realmente parte del formulario y su valor no se enviará al enviar el formulario. El navegador utiliza el nombre para establecer "grupos" de botones de radio, solo se puede seleccionar un botón de radio en cada grupo a la vez y al seleccionar otro se borrará la selección anterior. :)
Shadow Wizard es Ear For You

bingo, este es el más simple pero poderoso.
Rishabh

Para el proyecto que acabo de heredar, ambos botones de radio en mi formulario DEBEN tener un nombre diferente. Un campo es un campo TODO, el otro campo es dinámico, basado en un valor en la URL. Quieren que el usuario solo pueda seleccionar una radio.
user3120861

@ user3120861, así que la única forma es mediante el uso del código del lado del cliente, es decir, JavaScript. Es posible con JS simple, pero más fácil con jQuery. Para obtener más detalles, contáctame en el chat y, si obtenemos algo, lo agregaré a la respuesta. ¡Salud! :)
Shadow Wizard es Ear For You


41

Todos los botones de radio deben tener el mismo nombre:

<input type='radio' name='foo'>

Solo se puede marcar 1 botón de radio de cada grupo de botones con el mismo nombre.


19

Déles el mismo nombre y funcionará. Por definición, los botones de radio solo tendrán una opción, mientras que las casillas de verificación pueden tener muchos.

<input type="radio" name="Radio1" />


7

Simplemente deles el mismo nombre en todo el formulario que está utilizando.

<form><input type="radio" name="selection">
      <input type="radio" name="selection">
      ..
      ..
</form>

6

Agregue el atributo "nombre" y mantenga el mismo nombre para todos los botones de opción en un formulario.

es decir,

<input type="radio" name="test" value="value1"> Value 1
<input type="radio" name="test" value="value2"> Value 2
<input type="radio" name="test" value="value3"> Value 3

Espero que eso ayude.


5

Todas las opciones de botones de radio deben tener el mismo nombre para que pueda seleccionar una opción a la vez.


@PHPer quizás porque dio la misma respuesta que la respuesta aceptada pero 6 años después ...
norcal johnny

@norcaljohnny Debería informarse / marcarse, pero simplemente rechazarlo es
inexacto

@PHPer, tómalo con calma, amigo. Nunca dije que lo había rechazado, simplemente respondí a su comentario, sobre por qué, puede haber sido rechazado.
Norcal Johnny
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.