1
votes

Calculer la valeur de l'entrée

Veuillez aider à résoudre ce problème. Où est le problème. J'essaie d'augmenter la valeur de #minimum 11 fois et d'écrire leurs propriétés dans l'ordre indiqué.

<input id="minimum" type="number" value="">
<button onclick="Calculate()">Calculate</button>


<script>
    var minimum = document.getElementById("minimum").value;

    var one = min;
    var two = min++;
    var three = min++;
    var four = min++;
    var five = min++;
    var six = min++;

    var seven = min++;
    var eight = min++;
    var nine = min++;
    var ten = min++;
    var eleven = min++;
    var twelve = min++;

function Calculate(){
document.write(one+','+three+','+five+','+seven+','+nine+','+eleven+','+six+','+four+','+two+','+twelve+','+ten+','+eight);
}
</script>


1 commentaires

var un = minimum;


3 Réponses :


1
votes

La variable min n'est définie nulle part. vous pouvez soit utiliser la variable minimum partout où se trouve actuellement min , soit changer la déclaration initiale de minimum en min .

<input id="minimum" type="number" value="">
<button onclick="Calculate()">Calculate</button>

<script>
    var min = document.getElementById("minimum").value;

    var one = min;
    var two = min++;
    var three = min++;
    var four = min++;
    var five = min++;
    var six = min++;

    var seven = min++;
    var eight = min++;
    var nine = min++;
    var ten = min++;
    var eleven = min++;
    var twelve = min++;

function Calculate(){
document.write(one+','+three+','+five+','+seven+','+nine+','+eleven+','+six+','+four+','+two+','+twelve+','+ten+','+eight);
}
</script>```


0 commentaires

1
votes

Changez votre fonction Calculate () comme ceci;

<script>


function Calculate() {
    var minimum = document.getElementById("minimum").value;
    let min = parseInt(minimum);
    var one = min;
    var two = min++;
    var three = min++;
    var four = min++;
    var five = min++;
    var six = min++;

    var seven = min++;
    var eight = min++;
    var nine = min++;
    var ten = min++;
    var eleven = min++;
    var twelve = min++;

    document.write(one + ',' + three + ',' + five + ',' + seven + ',' + nine + ',' + eleven + ',' + six + ',' + four + ',' + two + ',' + twelve + ',' + ten + ',' + eight);
}

Ce que vous avez fait a été d'obtenir la valeur d'entrée au début de l'exécution. Mais après avoir entré une valeur numérique dans cette entrée, ces valeurs ne seront pas mises à jour, vous devez donc mettre ce code dans la fonction Calculate ()


0 commentaires

2
votes

Stockez la commande souhaitée dans un tableau. Quel que soit le nombre que vous saisissez dans le champ, la chaîne .join (',') ed sera toujours une séquence de ce numéro plus l'ordre (moins 1 puisque les tableaux sont basés sur 0)

<input id="minimum" type="number" value="1">
<button id="calculate">Calculate</button>
<div id="result"></div>
const el_min = document.getElementById("minimum"), // Cache your DOM Elements
      el_btn = document.getElementById("calculate"),
      el_res = document.getElementById("result"),
      order = [1, 3, 5, 7, 9, 11, 6, 4, 2, 12, 10, 8]; // Store your expected order

function calculate() {
  const minVal = parseInt(el_min.value, 10); // Use parseInt with radix!
  el_res.textContent = order.map(ord => minVal + ord - 1).join(', ');
}

el_btn.addEventListener('click', calculate);

Concernant votre problème principal, min n'est pas minimum , donc une faute de frappe, et vous devriez faire le calcul au clic , pas sur le document prêt.

https : //developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/parseInt
https://developer.mozilla.org/en/docs/Web/ API / Node / textContent
https://developer.mozilla.org/en/ docs / Web / JavaScript / Reference / Global_Objects / Array / map
https://developer.mozilla.org/en/ docs / Web / JavaScript / Reference / Global_Objects / Array / join
https://developer.mozilla.org/en-US/ docs / Web / API / EventTarget / addEventListener


0 commentaires