Отправка значений входного массива POST на php - PullRequest
0 голосов
/ 12 марта 2012

Я пытаюсь прочитать значения входного массива и передать их моему внутреннему PHP, но не могу заставить это работать.У меня есть следующий HTML:

<input name='field[]' class='myclass' value='test1'>
<input name='field[]' class='myclass' value='test2'>
<input name='field[]' class='myclass' value='test3'>

<input id='post_this_val' type='button' value='Post'>

Я хочу прочитать эти значения в jQuery и отправить значения в мой бэкэнд PHP, который затем будет обрабатывать результаты.Вот что я делаю:

$('#post_this_val').live('click', function () {
    var inpVal = $('input.myclass').map(function(i, el) {
                            return el.value;
                    });
    $.post('/my/php/function', {data: inpVal});
});

Вышеупомянутый POST не работает - моя функция php даже не вызывается, и страница просто перезагружается при нажатии кнопки POST.Предложения, пожалуйста.

Ответы [ 2 ]

4 голосов
/ 12 марта 2012

Самый простой способ получить значения формы - это обернуть эти входные данные в форму, связать событие отправки и использовать метод .serialize(). Плюс использования этого метода в том, что если у вас есть форма с текстом ввода и отправка, не имеет значения, отправляет ли пользователь с помощью ввода или нажимает кнопку отправки, обработчик все равно будет вызываться.

HTML:

<form id="myForm">
   <input  name='field[]' class='myclass' value='test1'>
   <input name='field[]' class='myclass' value='test2'>
   <input name='field[]' class='myclass' value='test3'>
   <input id='post_this_val' type='button' value='Post'>
</form>

ЯШ:

$('#myForm').live('submit', function(e) {
   $.post('/my/php/function', $(this).serialize());
   e.preventDefault();
   return false;
});
0 голосов
/ 12 марта 2012

Просто чтобы добавить хороший ответ Андреасу, иногда сложные проблемы вызваны простейшими ошибками.

Как только вы проверите синтаксис и все остальное, я бы порекомендовал вам установить Firebug, чтобы проверить, что именно происходит.

На сетевой панели Firebug вы можете видеть, была ли запись успешной и был ли ответ.

В этом случае ошибка может быть связана с несколькими причинами: от неправильного написания URL-адреса до переменных с ошибками.

Firebug поможет идентифицировать эти ошибки независимо от причины.

Надеюсь, это поможет!

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...