Necesito ayuda con esto. Tengo una lista desplegable que es parte del formulario, pero solo necesito una selección para que sea un enlace que use algo que se activará una vez que se haga clic. No estoy seguro si window.open es lo correcto para usar.
Aquí está el código que estoy usando, pero en este momento todos los seleccionados son enlaces y solo necesito 'otro' para que sea.
<select name="model" onchange="window.open(this.value, '_blank')"> <option value="" selected>Please select</option> <option value="A">Apple</option> <option value="B">Boom</option> <option value="C">chin</option> <option value="http://to be a link ">Other..</option> </select>¿Es posible hacer esto?
Puedes probar algo como esto. Si el valor es una URL, puede abrir una nueva ventana.
<select name="model" onchange="this.value.includes('http') && window.open(this.value, '_blank')"> <option value="" selected>Please select</option> <option value="A">Apple</option> <option value="B">Boom</option> <option value="C">chin</option> <option value="http://to be a link ">Other..</option> </select>Puedes probar esto
No recomiendo usar controladores de eventos en línea
NOTA: La secuencia de comandos no se ejecutará aquí desde un fragmento de pila debido al espacio aislado
document.querySelector("[name=model]").addEventListener("change", function() { const val = this.value; if (val.startsWith("http")) { console.log("This will open",val) window.open(val, "_blank") } }) <select name="model"> <option value="" selected>Please select</option> <option value="A">Apple</option> <option value="B">Boom</option> <option value="C">chin</option> <option value="https://to be a link ">Other..</option> </select>