Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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();
});
});
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2018, 14:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

Сообщение от laimas Посмотреть сообщение
Не так много и полей, просто добавьте скрытое поле в форму.
А что это даст? Значение полей нормально передаются. Сложность именно в передаче сгенерированного значения из <label>.
Думал использовать другую конструкцию типа:
$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});


а значения полей получать с помощью JS... Не знаю как будет правильнее.
P.S. полей всего будет 12. Это пока тестовый вариант.
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2018, 19:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от MaksimZykov
А что это даст?
Здрасьте, нужно передать данные на сервер, что и делает форма, в частности так var formData = new FormData(message); Только не понятно к чему это, если в 'submit' форма и так будет доступна, со всем и скрытыми полями в том числе. Что сложно результат этого require 'getRandomValue.php'; вставить не только в метку, но и в поле формы?

Охота околесицей, ну так есть метод append у FormData, получите текст метки и добавьте его к отправлению.
Ответить с цитированием
  #5 (permalink)  
Старый 22.10.2018, 09:51
Новичок на форуме
Отправить личное сообщение для MaksimZykov Посмотреть профиль Найти все сообщения от MaksimZykov
 
Регистрация: 21.10.2018
Сообщений: 3

Спасибо за советы!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP и AJAX и 3 тега select. seahunter Общие вопросы Javascript 4 16.12.2015 12:48
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Загрузка фото на сарвер при помощи AJAX shilinpavel AJAX и COMET 3 22.09.2011 12:22
передача JSON на сервер mikeles AJAX и COMET 0 04.03.2011 11:28
Проверка наличия логина в БД при регистрации, с помощью ajax storng Общие вопросы Javascript 4 09.04.2010 20:24