@semki096

Как передать значение Label в обработчик формы?

Есть простая форма. Как мне передать методом пост не только имя и содержимое инпута, но и заголовок-label этого инпута?
  • Вопрос задан
  • 1972 просмотра
Решения вопроса 2
@MadridianFox
Web-программист, многостаночник
Делайте скрытое поле, которое будет содержать текст из label.
Ответ написан
MacFiss
@MacFiss
человек
Автоматизируем решение Ивана с применением jQuery библиотеки:

<form action="#" method="post" class="example">
    <div>
      <label for="one">Тестовое поле 1</label>
      <input type="text" id="one" name="params[name1][value]" value="example 1">
    </div>
    <div>
      <label for="two">Тестовое поле 2</label>
      <input type="text" id="two" name="params[name2][value]" value="example 2">
    </div>
    <input type="submit" value="отправить">
  </form>


var form = $('.example');

form.find('input[type="text"]').each(function(i, data) {
  var label = $(this).parent().find('label').text();
  var name = $(this).attr('name').split('][')[0] + '][label]';
  $(this).parent().append('<input type="hidden" name="'+name+'" value="'+label+'">');
});


На сервере получаете
$_POST['params'][name0..n] {
   "label",
   "value"
}


Посмотреть как работает
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы