Intentando devolver un valor de una función basada en la entrada de radio, sin embargo, sigo obteniendo un valor nulo o
TypeError no capturado: no se pueden leer las propiedades de nulo (leyendo 'valor')".
function myFunction() { var radioTest = document.querySelector('input[name="inputtest"]:checked').value; return radioTest; } var test = myFunction(); console.log(test); <input type="radio" id="test123" name="inputtest" value="testing 123" onclick( "myFunction();") />Cuando se carga la página, no hay ninguna entrada marcada. Para que funcione tanto para la carga de la página como para la verificación de entrada, puede usar Cadena opcional para la aserción.
Además, la sintaxis no es válida. En vez de
onclick( "myFunction();")usar
onclick="myFunction()"Aquí está el código completo
function myFunction() { var radioTest = document.querySelector('input[name="inputtest"]:checked')?.value; console.log(radioTest); return radioTest; } var test = myFunction(); <input type="radio" id="test123" name="inputtest" value="testing 123" onclick="myFunction()" /> Una nota: recomendaría usar onchange en caso de que tenga más de un botón de opción en su formulario.
Hay dos problemas en su código.
Utilice el siguiente código.
function myFunction() { var radioTest = document.querySelector('input[name="inputtest"]:checked').value; return radioTest; } function handleClick() { let radioValue = myFunction(); console.log(radioValue); } <input type="radio" id="test123" name="inputtest" value="testing 123" onclick = "handleClick()" />