¿Dos botones de radio comparten una "identificación"?

Estoy tomando prestado / adaptando este sencillo formulario html / javascript configurado para poner algunos datos en la database. El código original usa campos de text en el formulario, pero estoy usando botones de opción. Los primeros tres pasos a continuación son los originales, y mi pregunta viene después … es decir, ¿le doy a los botones de opción la misma identificación … Espero que esto esté claro …

Paso 1. El usuario introduce el valor en el formulario con el id "nick"

<tr> <td><label>User</label></td> <td><input class="text user" id="nick" type="text" MAXLENGTH="25" /></td> </tr> 

Paso 2. Valor asociado con id "nick" asignado a la variable usando id

 var inputUser = $("#nick"); 

Paso 3. Obtener el valor de la variable para insertla en la database …

 if(inputUser.attr("value") 

pero si son dos "botones de radio" en lugar de un campo de "text" …

 <td><label>Interview</label></td> <td><input type="radio" name="interview" id="nick" value="pass" />Pass</td> <td><input type="radio" name="interview" id="nick" value="fail" /> Fail</td> 

¿Debo darle a los botones de opción el mismo "id" para que así siga siendo cuando asigno el valor a la variable …

 var inputUser = $("#nick"); 

de modo que cualquiera que sea el button marcado se asignará encontrado en el id "nick"?

8 Solutions collect form web for “¿Dos botones de radio comparten una "identificación"?”

No, un atributo Id siempre debe ser único. Si usa jQuery (parece que lo es), puede seleccionarlo con $('input[name=interview]'); .

Como está utilizando jQuery, puede get fácilmente el valor del button de opción seleccionado con el selector: marcado :

 $("input[name=interview]:checked").val() 

Definitivamente no debería darle a más de un elemento el mismo ID (que es HTML no válido y provocará errores confusos en su JavaScript), pero incluso si funcionó, no ayudaría en este caso ya que los botones de radio como grupo no tienen un valor seleccionado: necesita determinar cuál está actualmente marcado y luego get su valor como se muestra arriba. (Esto no es un problema al get el valor en el server web cuando el formulario se envía realmente, porque solo se envía el valor de la radio comprobada).

Tenga en count también que en su código original donde dijo inputUser.attr("value") , podría haber dicho inputUser.val() .

El atributo ID es único en toda la página. Deberías tener ID diferentes para cada button de opción. Use el código siguiente para get el valor de input.

 var inputUser=$('input:radio[name=interview]:checked').val(); 

No repita los id. Se recomienda utilizar una sola identificación por página, ya que debe ser única. Puede agrupar los botones de opción con el atributo de nombre.

use $('input[name=interview]') para get el valor.

Si quiere usar javascript puro, debe usar …

 document.querySelector('input[name=radio_btn_name]'); 

pero necesita un browser actualizado. Los browseres antiguos pueden resultar incorrectos.

Para superar este problema, se debe usar la biblioteca JavaScript (la biblioteca se encargará del problema). Para esto, use lo siguiente …

 $('input[name=radio_btn_name]:checked').val(); 

debe asignar el mismo nombre pero diferente id para input type=radio porque esta es una propiedad básica del button raido que necesita seleccionar solo un valor de los botones de opción de give aal.

pero esa identificación no se debe asignar a otros elementos de formulario

La id asignada a un elemento debe ser única dentro del documento. Entonces, no, no deberías usar la misma id .

En lugar de id="nick"

Puedes usar name="nick"

O

 class="nick" 
  • Jquery dotdotdot solo dispara correctamente en el tamaño de la window
  • Detener Javascript y HTML desde la memory caching
  • Cómo configurar un website dynamic con solo JavaScript (sin server)
  • Deslice la animation hacia abajo desde la pantalla: ninguna para mostrar: ¿bloquear?
  • ¿Puede Javascript leer el origen de cualquier página web?
  • Evitar requestes HEAD para objects embeddeds en Internet Explorer
  • Detectando cambio de class sin setInterval
  • establecer contenido entre tags div usando javascript
  • Evento de clic de componente HTML de ExtJs
  • Determinar / Buscar si un elemento HTML DIV está vacío o no se usa con javascript
  • ¿Cómo se cambia una selección de button de radio HTML de Javascript?
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.