Как суммировать inputs динамические с языком сценариев JavaScript и MySQL

Я хотел бы знать, как делать, чтобы мочь суммировать inputs динамические.

Я прочитал немного но только увидел, что он с языком сценариев JavaScript и jQuery. Я не нашел способ это делать. У меня есть база данных, откуда я достаю ученики, и в этих учеников я хотел бы сложить замечания. Больше, что все для поля ввода замечаний.

Это - то, что я приношу из inputs. Да он бросает их мне, но я не знаю, как складывать их и вводить их.

<?php
$url=$con[8];
                    toalu();

                     while($row = mysqli_fetch_array($respuesta)){

                         ?>
<input type="text" placeholder="<?php echo $row[2]?>" /></br /><br />

                     <?php }
                     ?>

        </div>
        <!-- /.box-body -->
1
задан 07.01.2017, 07:16
0 ответов

Чтобы складывать inputs динамической формы только грубая добавлять listener для события input. Этот тип события взрывается в любом изменении, которое происходило бы на ящике текста.

var inputs = document.querySelectorAll('input');

[].forEach.call(inputs, function (input, i) {
    input.addEventListener('input', function () {
        var sumPrev = 0;
        [].forEach.call(inputs, function (input, x) {
            if (i !== x) {
                sumPrev += parseFloat(input.value) || 0;
          }
      });
      var _total = (parseFloat(input.value) + sumPrev).toFixed(2);
      var _avg = (_total / inputs.length).toFixed(2);
  });

Чтобы регистрировать эти данные в твоей базе данных ты нуждаешься в том, чтобы послать их каким-то образом. Ты можешь делать это нормальным способом или посредством ajax. Ésto завись много от, если ты используешь какой-то тип framework или простого PHP.

Например, я женю, что ты использовал простого PHP, тебе достаточно возвращать данные посредством $_POST.

form.addEventListener('submit', function(e) {
  e.preventDefault();

  var data = {
    total: _total,
    avg: _avg,
    scores: []
  };

  // obtiene las notas
  [].forEach.call(inputs, i => {
    data.scores.push(parseFloat(i.value));
  });

  var request = new XMLHttpRequest();
  request.open('POST', '/archivo.php');
  request.setRequestHeader('Content-Type', 'application/json');

  request.onload = function() {
    if (request.status === 200) { // exito
      if (request.readyState === 4) { // petición completada
        var respuesta = request.responseText;
        // mostrar mensaje de éxito o algo
      }
    } else {
      var error = request.responseText;
      // hacer algo con el mensaje error
    }
  }
  request.send(JSON.stringify(data)); // se envía el json
});

И в archivo.php:

if (isset($_POST['data'])) {
  $data = json_decode($_POST['data']);

  // registrar los datos

  echo 'Notas registradas';
}

Тебе оставил demo части язык сценариев JavaScript.

1
ответ дан 03.12.2019, 17:51