Galarist_00 Ответов: 1

Как я могу передать переменное имя параметра кнопки с помощью ajax?


Я хочу передать параметр name кнопки с помощью AJAX POST метод для PHP-файла.

Я получаю ошибку после отправки формы с Ajax, что индекс не определен на странице 2.

Что я уже пробовал:

HTML-форма:

<form class="upVote" action=""  method="post">
<button id="plus" name="plus" value="foo">button</button>
</form>';


Аякс:

$(document).ready(function(){
  $(".upVote").submit(function(){
      $.ajax({
          url: "../inc/handlers/up-vote.php",
          data: $(".upVote").serialize(),
          type: "POST",
          dataType: 'json',
          success: function (e) {
              console.log(JSON.stringify(e));
          },
          error:function(e){
              console.log(JSON.stringify(e));
              console.log('error');
          }
      });
      return false;
  });
});



Сообщение PHP:

$_POST['plus'];

1 Ответов

Рейтинг:
6

Richard Deeming

Значение кнопки отправки не сериализуется, так как форма не была отправлена с помощью кнопки.

Поскольку у вас есть только одна кнопка в вашей форме, самое простое решение-удалить ее name атрибут и переместите значение в скрытый вход.
<form class="upVote" action="../inc/handlers/up-vote.php"  method="post">
    <input type="hidden" name="plus" value="foo" />
    <button type="submit">button</button>
</form>


Galarist_00

Это делает свое дело! :) Что я могу сделать, если у меня есть цикл foreach для форм и каждый вход содержит разные значения? В этой ситуации Ajax отправляет только одно значение. Если я делаю это для одного входа, он отлично работает.

Richard Deeming

Извините, я не понимаю, что вы имеете в виду.

Galarist_00

У меня есть цикл foreach на странице 1, и он отображает все формы для каждого из данных. Я хочу отправить значение из конкретной формы, которую я отправил. Каждая ценность различна.

Richard Deeming

У вас все еще есть одно значение для каждой формы? Если это так, то скрытый вход все равно будет работать.

Galarist_00

Я только что задал вопрос об этом. https://www.codeproject.com/Questions/4532857/How-do-I-pass-value-from-foreach-loop-with-AJAX-to