Estoy trabajando en un generador de secuencias de comandos de red que utiliza HTML y JS. El usuario ingresa valores y la salida se genera/actualiza automáticamente con cada cambio en los valores de entrada utilizando los activadores de eventos onChange, onKeyUp o OnClick para activar los valores de formulario actuales para que se ejecuten a través de la función JS.
Cualquier elemento de entrada, incluidos los tipos de texto y radio, funciona bien, pero para ahorrar espacio, me gustaría convertir varias listas de radio en menús desplegables utilizando elementos de selección o lista de datos más opciones. Sin embargo, hacer esta conversión parece romper las cosas y la función ya no se ejecuta o la salida no se genera.
Supongo que hay algún concepto de forma fundamental que me falta aquí. El fragmento de código aquí muestra un resumen simplificado de lo que intento hacer. Probé variaciones de incluir activadores de eventos onSelect, onChange y onClick en la etiqueta de opción, así como en la etiqueta de selección, pero no me gustó. Lo mismo usando listas de datos. ¿Alguien sabe lo que estoy haciendo mal?
No funciona:
<head> <script type="text/javascript" src="functions.js"></script> </head> <body> <form name="example"> <div> <table> <tr><td>Speed</td></tr> <tr> <td> <select name="speed" onChange="exampleName()"> <option value="5M" >5M</option> <option value="10M">10M</option> <option value="15M">15M</option> </select> </td> </tr> </table> </div> </form> </body>Obras:
<head> <script type="text/javascript" src="functions.js"></script> </head> <body> <form name="example"> <div> <table> <tr><td>Speed</td></tr> <tr><td><input type="radio" name="speed" value="5M" onClick="exampleName()" checked="" >5M</input></td></tr> <tr><td><input type="radio" name="speed" value="10M" onClick="exampleName()">10M</input></td></tr> <tr><td><input type="radio" name="speed" value="15M" onClick="exampleName()">15M</input></td></tr> </table> </div> </form> </body>Descubrí mi problema después de revisar todo el código. No fue un problema de nombres, y ni siquiera fue realmente un problema de HTML. En realidad, fue el JS el que se configuró para analizar las entradas de radio para encontrar los campos marcados. Esto no funcionó con seleccionar/opción porque obtienen estados "seleccionados" frente a "marcados".