<html> <head> <script> document.getElementById("changeLanguage").onchange = function() { if (inputtxt.value.length == 0) { $('#bt').trigger('click'); } }; </script> </head> <body> <label for="fname">Amount</label><input type="number" id="amt" name="amt"> <select onchange="changeLanguage(this.value)"> <option value="Choose" selected="selected">Choose</option> <option value="IT">Italian</option> <option value="FR">France</option> </select> <button type="button" id="bt">Click Me!</button> </body> </html>Intenté usar el código anterior, pero no funcionó.
Si la cantidad significa valor, entonces debe comparar inputtxt.value > 0 en la condición if.
document.getElementById("changeLanguage").onchange = function() { if (inputtxt.value > 0) { $('#bt').trigger('click'); } };Tienes algunos lugares para ajustar.
Primero deberías ver el mensaje de error.
TypeError no capturado: no se pueden establecer propiedades de nulo (configurando 'onchange')
Esto se debe a que no configuró su atributo de identificación de elemento seleccionado.
así que reemplaza
<select onchange="changeLanguage(this.value)">con
<select id="changeLanguage" onchange="changeLanguage(this.value)">Además, si ya tiene jquery, se recomienda no usar el evento en línea y, en realidad, no existe el método changeLanguage.
así que reemplaza
<select id="changeLanguage" onchange="changeLanguage(this.value)">con
<select id="changeLanguage">Cuando realice ajustes, encontrará que el evento de cambio está escuchando, pero debería ver un mensaje de error
Error de referencia no capturado: inputtxt no está definido
Esto se debe a que no declaraste la variable inputtxt.
Así que por favor agregue esta línea
const inputtxt = document.getElementById('amt').value;El código completo se muestra a continuación.
document.getElementById('changeLanguage').onchange = function() { const inputtxt = document.getElementById('amt').value; if (inputtxt.length == 0) { $('#bt').trigger('click'); } };Pero observé que ha usado jquery, puede consultar el siguiente código.
$('#changeLanguage').on('change', () => { if ($('#amt').val().length == 0) { $('#bt').trigger('click'); } });p.ej
$('#changeLanguage').on('change', () => { if ($('#amt').val().length == 0) { $('#bt').trigger('click'); } }); <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> <label for="fname">Amount</label> <input type="number" id="amt" name="amt"> <select id="changeLanguage"> <option value="Choose" selected="selected">Choose</option> <option value="IT">Italian</option> <option value="FR">France</option> </select> <button type="button" id="bt">Click Me!</button> </body> </html>creo que puedes activar la function en lugar de la click action
document.getElementById("changeLanguage").addEventListener( 'change', function(e) { if (e.currentTarget.value.length === 0) { submit() } ) ) <body> <label for="fname">Amount</label> <input type="number" id="amt" name="amt"> <select id="changeLanguage"> <option value="Choose" selected="selected">Choose</option> <option value="IT">Italian</option> <option value="FR">France</option> </select> <button type="button" id="bt" onclick="submit()">Click Me!</button> </body>