Sigo recibiendo un error porque mi javascript dice que el elemento que declara mi ID no es una función. Gracias de antemano a cualquiera que pueda ayudar. Estoy seguro de que es una solución simple. Mi objetivo es ocultar un formulario mientras se hace clic en el botón de opción "único". (Ignore el texto "armar todo", no estoy seguro de cómo llegó allí o cómo quitarlo). EDITAR: he cambiado los nombres de las funciones, pero parece que todavía tengo el mismo problema.
// This links form1/form2 to hide & display - onclick for group or single radio buttons function single(id, text, btn) { var groupForm = document.getElementById('form2'); var singleForm = document.getElementById('form1'); groupForm.style.visibility = 'hidden'; singleForm.style.visibility = 'visible'; } function group() { var groupForm = document.getElementById('form2'); var singleForm = document.getElementById('form1'); singleForm.style.visibility = 'hidden'; groupForm.style.visibility = 'visible'; } <div> <div style="position: relative; width: 100%;"> <div id="form2" class="form"> <select name="sendingfrom" class="click-op"> <option value="group-select">arm</option> <option value="group-select">all</option> </select> </div> <div id="form1" class="form"> <select name="sendingfrom" class="click-op2"> <option value="group-select">waist</option> <option value="group-select">shoulder</option> <option value="group-select">elbow</option> <option value="group-select">wrist_angle</option> <option value="group-select">wrist_rotate</option> <option value="group-select">left_finger</option> </select> </div> </div> <!--onclick value links to javascript--> <input class="radio-group" type="radio" id="group" name="group-or-single" value="group" onclick="group()"> <label class="text-group" style="color: black; padding-left: 0px;" for="group">Group</label> <!--onclick value links to javascript--> <input class="radio-single" type="radio" id="single" name="group-or-single" value="single" onclick="single()"> <label class="text-single" style="color: black; padding-left: 0px;" for="single">Single</label> </div>Puede usar la declaración try catch finalmente, pero primero en el HTML están los nombres de la función mal escritos. Este problema no se puede resolver con la solución que mencioné, solo si usa eventlisteners en el código javascript.
En este fragmento, corregí los nombres de funciones mal escritos e hice los bloques try catch para usted como ejemplo.
// This links form1/form2 to hide & display - onclick for group or single radio buttons function single(id, text, btn) { try { var groupForm = document.getElementById('form2'); var singleForm = document.getElementById('form1'); groupForm.style.visibility = 'hidden'; singleForm.style.visibility = 'visible'; } catch { console.log("does not works"); } } function group() { try { var groupForm = document.getElementById('form2'); var singleForm = document.getElementById('form1'); singleForm.style.visibility = 'hidden'; groupForm.style.visibility = 'visible'; } catch { console.log("does not works"); } } <div id="form3" class="form"> <select name="sendingfrom" class="click-op2"> <option value="group-select">waist</option> <option value="group-select">shoulder</option> <option value="group-select">elbow</option> <option value="group-select">wrist_angle</option> <option value="group-select">wrist_rotate</option> <option value="group-select">left_finger</option> </select> </div> <!--onclick value links to javascript--> <input class="radio-group2" type="radio" id="group2" name="group-or-single" value="group" onclick="group()"> <label class="text-group2" style="color: black; padding-left: 0px;" for="group">Group</label> <!--onclick value links to javascript--> <input class="radio-single2" type="radio" id="single2" name="group-or-single" value="single" onclick="single()"> <label class="text-single2" style="color: black; padding-left: 0px;" for="single">Single</label> javascript htmlUtilice la instrucción Try Catch. Mozilla