Как разобрать объявленную стоимость? - PullRequest
0 голосов
/ 23 декабря 2011

У меня есть следующий код:

<input type="checkbox" name="pay[]"  value="
               <?php 
                         echo $invoiceArr[$record_count].";";
                         echo $TotalArr[$record_count].";";
                         echo $amount_dueArr[$record_count];
                  ?>
                  " onClick="checkTotal()"/>

Как мне разобрать:

       echo $invoiceArr[$record_count].";";
       echo $TotalArr[$record_count].";";
       echo $amount_dueArr[$record_count];

Когда форма отправляется с POST?

Большое спасибо

Как я могу получить только один элемент

   echo $amount_dueArr[$record_count];

и передать его в:

var elements = document.getElementsByName("pay[]");

Спасибо, приятели

Ответы [ 4 ]

2 голосов
/ 23 декабря 2011

Так как вы используете pay[] в качестве имени формы, я полагаю, что вы пытаетесь сделать массив ввода формы. Чтобы прочитать массивную форму ввода, вы просто должны прочитать ее, используя ключ.

Немного фона:

Вы можете создать массив следующим образом:

$data[] = "1";
$data[] = "2";

Из приведенного выше кода вы получите массив $data с 2 элементами:

print_r($data);
Array
(
    [0] => 1
    [1] => 2
)

Вернемся к вашей проблеме. Чтобы разобрать ее, все, что вам нужно сделать, это просмотреть ее:

for( $i = 0; $i < count( $_POST['pay'] ); $i++)
{
    $data = $_POST['pay'][ $i ];
    list($invoice, $total, $amount_due) = explode(";", $data);
    echo "Incoive: $invoice || Total: $total || Amount due: $amount_due";
}
0 голосов
/ 23 декабря 2011

Прежде всего, я бы изменил имя входа на name=pay

Тогда в php вы сделаете следующее:

$data = explode(';', $_POST['pay']);
0 голосов
/ 23 декабря 2011

Сделайте var_dump на $_GET или на $_POST, и вы увидите.
Кроме того, я думаю, вы неправильно понимаете, что вы пытаетесь сделать.Вам нужно три элемента с именем pay[], и каждый из них будет иметь только ОДИН из значений, которые у вас есть

$invoiceArr[$record_count]
$TotalArr[$record_count]
$amount_dueArr[$record_count]
0 голосов
/ 23 декабря 2011

Это выглядит как необычный способ сделать что-то, но вы можете разобрать его, взорвавшись.

list($invoice, $total, $amount_due) = explode(";", $_POST['pay'][0]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...