Как получить данные из анализатора тела в массиве, используя узел JS? - PullRequest
0 голосов
/ 31 октября 2019

Здесь у меня есть no_of_devices с тремя полями 'macAddress', 'useWith' и 'type' в строке, количество строк зависит от количества устройств, выбранных в поле выбора, поэтому я использую body-parser и я хочу получить все данные строк, которые имеют имя, сгенерированное с помощью цикла for, поэтому все строки, имеющие macAddress, будут иметь name = 'macAdd0', name = "macAdd1" и т. д. То же самое относится к полям 'type' и 'useWith'.

HTML

<select id="noOfDevice" class="form-control" name="noOfDevice" onchange="getDeviceCount(this)">
    <option selected value="0">Select</option>
    <option value="1">01</option>
    <option value="2">02</option>
    <option value="3">03</option>
    <option value="4">04</option>
    <option value="5">05</option>
    <option value="6">06</option>
    <option value="7">07</option>
    <option value="8">08</option>
    <option value="9">09</option>
    <option value="10">10</option>
</select>

Javascript

<script>
    var macAdd;
    var useWith;
    var type;
    var noOfDevice = req.body.noOfDevice;
    for (var i = 0; i < noOfDevice; i++) {
        var k = i.toString();
        macAdd[i] = req.body.macAdd[i];
        useWith[i] = req.body.useWith[i];
        type[i] = req.body.type[i];
        //console.log(req.body.macAdd);
        process.deviceManger(macAdd[i], useWith[i], type[i]);
        console.log('Device' + i + 'Details Update');
    }
    function getDeviceCount(sel) {
        console.log("No of Device:" + sel.value);
        var currCount = sel.value;
        var div = document.createElement("div");
        for (var i = 0; i < currCount; i++) {
            div.setAttribute('id', 'addElements');
            div.innerHTML += '<div class="row"><div class="form-row"><div class="form-group col-md-3"><label for="inputCity">Mac Address</label><input type="text" class="form-control" id="macAdd" name="macAdd' + i + '"></div> <div class="form-group col-md-3"><label for="inputState">Type of Device</label> <select id="inputState" class="form-control" name="deviceType' + i + '"> <option selected>Select</option> <option value="Irys Slate">Irys Slate</option> <option value="Irys Sling">Irys Sling</option> <option value="Irys Swing">Irys Swing</option> </select> </div> <div class="form-group col-md-3"> <label for="inputState">Use with</label> <select id="inputState" class="form-control" name="useWith' + i + '"> <option selected>Select</option> <option value="All">All</option> <option value="Nconnect">Nconnect</option> <option value="Tiara">Tiara</option> <option value="Corona">Corona</option> <option value="TiaraMini">TiaraMini</option> <option value="Nconnect+Tiara">Nconnect+Tiara</option> <option value="Nconnect+Corona">Nconnect+Corona</option> <option value="Nconnect+TiaraMini">Nconnect+TiaraMini</option> </select> </div> </div> </div>';
            document.getElementById("devices").appendChild(div);
        }
    }
</script>
...