Código HTML
<form id = "numbersdescendingodd"> Resultdescendingodd : <input type = "text" name = "resultdescendingodd" id = "dodd" max = "20"><br> <input type = "button" onclick = "descendingodd()" value = "Clickhere"> <br> </form>
código JavaScript
function descendingodd(){ var x = 0 for(var i = 21 ; i>=1; i-=2){ var result = document.getElementById('dodd'); result.value = (`${i}`) } }
quiero que mi cuadro de texto de salida sea: 21,19,17,15, etc.
Está configurando el valor del cuadro de texto para cada número impar descendente uno a la vez y, por lo tanto, una vez que su código termine de ejecutarse, se dejará configurado en el último número (1).
Intente cambiar result.value = (
${i} )
a result.value += i + ','
. No hará exactamente lo que quieres (tendrá una coma después del último número), pero supongo que podrás resolverlo a partir de ahí.
Reemplace su función descendingodd con esto
function descendingodd(){ var x = ""; var result = document.getElementById('dodd'); for(var i = 21 ; i>=1; i-=2){ x += i; x += ","; } result.value = x;}
function descendingodd() { const text = document.getElementById('dodd').value; const numbers = text.split(',').map(Number); const r = numbers.sort(function(a, b){return ba}); document.getElementById('dodd').value = r.join(); }
<form id = "numbersdescendingodd">Resultdescendingodd : <input type = "text" name = "resultdescendingodd" id = "dodd" max = "20" value="5,17,21,19"><br> <input type = "button" onclick = "descendingodd()" value = "Clickhere"> <br> </form>