Значения формы JavaScript - замените значение переменной и вычислите сумму переменных - PullRequest
0 голосов
/ 06 октября 2018

Я искал решение по этому вопросу, но не смог найти ничего, что мог бы понять.

Я работаю над фрагментом кода ниже - я упростил вывод для простотычтения.

function CreateMsg() { 
var MsgDOM = document.getElementById("MSG"); 

MsgDOM.innerHTML = '<p>calculation.value</p><li>How you view God or a Higher Power: ' + document.forms[0].godview.value + '<\/li><li>How you view your life in general: ' + document.forms[0].lifeview.value + '<\/li><li>How you approach life: ' + document.forms[0].level.value + '<\/li><li>What your inner voice and internal thoughts are busy with: ' + document.forms[0].emotion.value + '<\/li><li>How you are most likely to tackle challenges: ' + document.forms[0].process.value + '<\/li><li>The lessons (mirrors) you are currently working with: ' + document.forms[0].lessons.value + '<\/li>'; 
}

У меня пока все работает нормально, но мне нужно сделать расчет, который считывает 6 значений, которые выводит дисплей вывода.

Значение должно быть прочитано, а затем заменено из массива - тот же массив применяется ко всем шести переменным.

Таким образом, выходное значение для каждого из элементов в выходных данных является одним из нескольких фиксированных текстовых значений, обычно числом.Так, если значение равно, например, 1, я хочу, чтобы оно заменило это значение на 2. Если оно равно 2, то замените его на 4 и т. Д. Есть строка из примерно 20 значений, но они являются общими для всех шести чисел.нужно рассчитать.

Затем я хочу, чтобы они взяли эти шесть значений, сложили их вместе и распечатали на выходном экране, где указано вычисление.

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

hi
I go through code acording the requirement bellow is the solved code 

can sum the values from the array

<!DOCTYPE HTML>
<html>
<head>

    </head>

<body onload="">
    <form>

        <input type="text" id="godview" value="" />
        <input type="text" id="lifeview" value="" />
        <input type="text" id="level" value="" />
        <input type="text" id="emotion" value="" />
        <input type="text" id="process" value="" />
        <input type="text" id="lessons" value="" />

    </form>
    <div>
        <input type="button" id="btnsend" value="save" onclick="return CreateMsg();" />
    </div>
    <div id="MSG">
       
    </div>
    <script>
        function CreateMsg() {
            var arr = [];
            var godv = document.forms[0].godview.value;
            var lifv = document.forms[0].lifeview.value;
            var levelv = document.forms[0].level.value;
            var emotionv = document.forms[0].emotion.value;
            var processv = document.forms[0].process.value;
            var lessonsv = document.forms[0].lessons.value;
            arr.push(godv);
            arr.push(lifv);
            arr.push(levelv);
            arr.push(emotionv);
            arr.push(processv);
            arr.push(lessonsv);
            alert(arr);
            var MsgDOM = document.getElementById("MSG");
           
            MsgDOM.innerHTML = '<p>calculation.value</p><li>How you view God or a Higher Power: ' + document.forms[0].godview.value + '<\/li><li>How you view your life in general: ' + document.forms[0].lifeview.value + '<\/li><li>How you approach life: ' + document.forms[0].level.value + '<\/li><li>What your inner voice and internal thoughts are busy with: ' + document.forms[0].emotion.value + '<\/li><li>How you are most likely to tackle challenges: ' + document.forms[0].process.value + '<\/li><li>The lessons (mirrors) you are currently working with: ' + document.forms[0].lessons.value + '<\/li>';
        }
    </script>

</body>
</html>
0 голосов
/ 06 октября 2018

Это должно быть достаточно легко, что-то вроде этого должно быть то, что вы ищете!

function CreateMsg() { 
    var MsgDOM = document.getElementById("MSG");

    let fieldsToRead = ["godview", "lifeview", "level", "emotion", "process", "lessons"];

    let inputArray = fieldsToRead.map((fieldName) => {
        return Number(document.forms[0][fieldName].value);
    });

    console.log(inputArray);

    // This determines how we map input fields to output fields.
    // We can add more elements as needed.
    let inputOutputMap = {
        0:0,1:2,2:4,3:6,4:8,5:10,6:12
    };

    // You can perform your calculations here!!
    let result = inputArray.reduce((total, input) => {
        total += (inputOutputMap[input] || 0);
        return total;
    }, 0); 

    MsgDOM.innerHTML = '<p>Calculation.value</p><li>How you view God or a Higher Power: ' + document.forms[0].godview.value + '<\/li><li>How you view your life in general: ' + document.forms[0].lifeview.value + '<\/li><li>How you approach life: ' + document.forms[0].level.value + '<\/li><li>What your inner voice and internal thoughts are busy with: ' + document.forms[0].emotion.value + '<\/li><li>How you are most likely to tackle challenges: ' + document.forms[0].process.value + '<\/li><li>The lessons (mirrors) you are currently working with: ' + document.forms[0].lessons.value + '<\/li><br><h3>Calculation total: ' + result + '</h3>'; 
}

CreateMsg();
<html>
    <body>
        <form>
          Godview:<br>
          <input type="text" name="godview" value="1"><br>
          Lifeview:<br>
          <input type="text" name="lifeview" value="2"><br>
          Level:<br>
          <input type="text" name="level" value="3"><br>
          Emotion:<br>
          <input type="text" name="emotion" value="4"><br>
          Process:<br>
          <input type="text" name="process" value="5"><br>
          Lessons:<br>
          <input type="text" name="lessons" value="6"><br>
        </form>
        <div>
        <br>
        <br>
        <div id="MSG">
        </div>
    </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...