¿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" 
  • Cómo recuperar el valor del tipo de input en una tabla dinámica
  • ¿Por qué se invoca aquí el controller de keyboard y puedo evitarlo?
  • Conversión de nuevas líneas de textarea en tags <p> y <br/> por JavaScript
  • Obtener el valor de la última opción de un menu desplegable?
  • ¿Cómo hacer que los botones permanezcan 'activos' después de hacer clic?
  • ¿Cómo puedo cambiar la paleta de colors de fuente pnetworkingeterminada en el editor de TinyMce?
  • Obtenga BASE en HTML después de haberlo configurado, pero sin usar la URL de la página
  • Los botones de selección / botones Bootstrap no cambian el valor <input>
  • Abre Gmail en mailto: acción
  • Cómo cambiar el tamaño de una image de background con "tamaño de background: contener"
  • Prueba de caracteres especiales JavaScript
  • Javascript Cómo llamar a una function cuando elegimos Permanecer en la página en Chrome
  • ¿Puedes usar jQuery's $ (this) en un código de una línea para modificar elementos?
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.