Отправить массив форм в PHP, используя AJAX в качестве POST-массива - PullRequest
1 голос
/ 21 июня 2011

Ребята, я ищу способ отправки массива html-форм в скрипт php для выполнения в виде массива. Я пробовал несколько методов, но у меня ничего не получалось. Пожалуйста, предложите мне способ сделать это. Мой массив php работает хорошос обычной отправкой, но с ajax он говорит

Предупреждение: неверный аргумент для foreach () в C: \ wamp \ www \ submit_order.php в строке 42

MyHTML-код формы -

 <input disabled="disabled" class="input_text" onkeyup="JAVASCRIPT:check_row();" name="qty[]" type="text" id="qty_field1" size="6">

Мои текущие параметры отправки ajax -

var params="qty="+document.table_form.elements["qty[]"]";   

Мой выбор PHP-массива -

  foreach($_POST['qty'] as $value){
        if($index<=$rows){
        $clean_value=mysql_real_escape_string($value);
        $clean_value=stripcslashes($clean_value);
        $product_data[$index][3]=$clean_value;
        $index=$index+1;
        }    

Спасибо.

Ответы [ 2 ]

2 голосов
/ 21 июня 2011

РЕДАКТИРОВАТЬ

Я тупица - вы не используете jQuery.Вот некоторые из них, которые перебирают входные данные в форме, ища элементы с именем qty[] http://jsfiddle.net/JAAulde/WQjQM/6/

END EDIT

Оригинал (jQuery) Ответ ниже

Если у меня есть 3 входа с именем qty[] со значениями a, b, c

Оба:

var params = $.param( $( '[name="qty\[\]"]' ) );

(демо: http://jsfiddle.net/JAAulde/WQjQM/1/)

и:

var params = $( '[name="qty\[\]"]' ).serialize();

(демо: http://jsfiddle.net/JAAulde/WQjQM/)

дайте мне:

qty%5B%5D=a&qty%5B%5D=b&qty%5B%5D=c

Это должно быть правильным для вас.

1 голос
/ 21 июня 2011

Возможно, вы захотите посмотреть на http://api.jquery.com/serialize/ как на способ отправки значений формы.Должно работать с массивами (я думаю)

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