2011-12-22 3 views
1

У меня есть флажок внизу ...
Он находится в петле:Передача выбранного массива значений флажка?

<script> 
        function checkCheckBoxes_abel() { //check if the checkbox is checked before submitting. 
         if (document.payform.pay_checkbox.checked == false) 
          { 
           alert ('You didn\'t choose any of the checkboxes for payment !'); 
           return false; 
          } 
         else 
          { 
           alert ('One or more checkboxes from payment form are checked!'); 
           document.forms["payform"].submit(); 
           return true; 
          } 
         } 
        </script>  

<form name="payform" onsubmit="return checkCheckBoxes_abel();" method="POST" action="payment.php">  
    for($record_count=0;$record_count<$record;$record_count++) 
        { 
     <td><input type="checkbox" name="pay[]" id="pay_checkbox" value="<?php echo $amount_dueArr[$record_count];?>" onClick="checkTotal()"/></td> 
     } 
    </form> 

Как я могу передать значение флажок, который выбран?

Благодаря

я могу сделать:

if (isset($_POST['pay'])) 
    { 
    foreach($_POST["eg_payamt_"] as $key => $payamt){ 
      echo "eg_payamt_$key => $payamt\n <br>"; 
     } 
    } 

на payment.php?

Благодаря

Иллюстрация: У меня есть три галочки ...

Если я проверяю один из флажком,

Checkbox тикали на: Массив

, и если я не проверяется ни один из них

Флажок галочки:

Это правильно, но содержимое массива не только одно, но и три из них, Как я могу сделать это только один? или только два? зависит от того, сколько флажков проверяется.

Могу ли я сделать это на другом поле? , кажется, что он работает только для одного поля

if (isset($_POST['pay'])) 
    { 
     if(is_array($_POST['pay'])) 
     { 
    //foreach($_POST["pay"] as $key => $desc) 
    foreach($_POST["eg_description_"] as $key => $desc) 
     { 
      echo "eg_description_$key => $desc\n <br>"; 
     } 
     } 
     else 
     { 
     //echo 'description :'.$_POST['pay']; 
     echo 'description :'.$_POST["eg_description_"]; 
     } 
    } 
+0

Вот аналогичный вопрос/ответ: http://stackoverflow.com/questions/476426/submit-an-html-form-with-empty-checkboxes – EJK

+0

вы можете сделать так, выполнить foreach @ $ _POST [' pay '] – punit

ответ

0

есть 2 вида значений будут получать в POST, если кто-то выбирает только один флажок, который будет выдавать предупреждение в петле foreach, чтобы вы могли попробовать таким образом

if (isset($_POST['pay'])) 
{ 
    if(is_array($_POST['pay'])) { 
     //foreach($_POST["eg_payamt_"] as $key => $payamt){ 
     foreach($_POST["pay"] as $key => $payamt){ 
     echo "eg_payamt_$key => $payamt\n <br>"; 
     } 
    } 
    else { 
     echo 'pay : '. $_POST['pay']; 
    } 
} 
+0

Я не проверяю флажки, но когда я нажимаю кнопку «Отправить», он все равно отображает все pay_amt в файле payment.php –

+0

@Rick Ant. Я отредактировал «Мой ответ», «Можете ли вы сказать, откуда вы публикуете» eg_payamt_ 'и показать все коды, связанные с отображением флажка в файле payment.php –

+0

echo' AU $ '. $ amount_dueArr [$ record_count].'

Смежные вопросы