Показать сообщение отдельно
  #1 (permalink)  
Старый 21.10.2018, 14:04
Новичок на форуме
Отправить личное сообщение для MaksimZykov Посмотреть профиль Найти все сообщения от MaksimZykov
 
Регистрация: 21.10.2018
Сообщений: 3

Передача значения внутри тега <label> на сервер при помощи AJAX
Всем добрый день!
Прошу помочь советом. Столкнулся со следующей проблемой: как вместе со значениями полей формы передать на сервер значения, содержащиеся внутри тега <label>? Значение внутри тега подгружается из БД при помощи php-файла. Пробовал использовать метод 'append', но в итоге данные на сервер вообще не передаются. Метод использовал после 4й строки, после создания самого объекта 'formData'.

Кусок разметки:
<form id="test_form">
<div class="form-group">
    <label for="name" id="lable"><?php require 'getRandomValue.php'; ?></label>
    <input type="text" class="form-control" name="name">
</div>
    <button id="send-message" class="btn btn-primary">Отправить сообщение</button>
</form>
<div class="panel-heading">Данные, которые пришли с сервера:</div>
    <!-- Контейнер для вывода результата (id = "result") -->
    <div class="panel-body" id="result"></div>


JS:
document.addEventListener('DOMContentLoaded', function() {
  var message = document.getElementById('test_form');
  message.addEventListener('submit', function(e) {
     var formData = new FormData(message);
     var request = new XMLHttpRequest();
  request.open('POST', 'process.php');
  request.addEventListener('readystatechange', function() {
     if (this.readyState == 4 && this.status == 200) {
        var data = JSON.parse(this.responseText);
        var output = '<ul>';
        for (var key in data) {
          output += '<li><b>' + key + "</b>: " + data[key] + '</li>';
        }
        output += '</ul>';
        document.getElementById('result').innerHTML = output;
      }
    });
    request.send(formData);
    e.preventDefault();
});
});
Ответить с цитированием