2014-04-04 62 views
0

對不起,如果我沒有正確解釋,但我會盡我所能!如何在下拉菜單中堆疊多個表單(提交)?

例如:

我有2種形式,都與單獨的提交按鈕。

<FORM METHOD="POST" ACTION=https://www3.moneris.com/HPPDP/index.php> 

    <INPUT TYPE="SUBMIT" NAME="SUBMIT" value="Session Fee - $200.00" /> 

    <INPUT TYPE="HIDDEN" NAME="charge_total" value="200.00" /> 

    <INPUT TYPE="HIDDEN" NAME="ps_store_id" VALUE="xxx" /> 

    <INPUT TYPE="HIDDEN" NAME="hpp_key" VALUE="xxx" /> 

    </FORM> 


    <FORM METHOD="POST" ACTION=https://www3.moneris.com/HPPDP/index.php> 

    <INPUT TYPE="submit" NAME="SUBMIT" value="Membership Fee - $15.00" /> 

    <INPUT TYPE="HIDDEN" NAME="charge_total" value="15.00" /> 

    <INPUT TYPE="HIDDEN" NAME="ps_store_id" VALUE="xxx" /> 

    <INPUT TYPE="HIDDEN" NAME="hpp_key" VALUE="xxx" /> 

    </FORM> 

我的問題是..我怎樣才能既包括形式或者一個下拉菜單或在其中客戶可以選擇1或兩個選項,然後單擊最後提交/付現按鈕的複選框。

因此,例如,他們可以選擇僅會話費,收費將爲200.00美元。或者他們應該選擇,他們也可以選擇會員費,收費標準爲215美元。

預先感謝您的時間 - 非常感謝。

+0

做形式必須是物理下拉菜單裏面?或者你的意思是說你有一個下拉菜單,並根據該菜單中的選擇,表格A或表格B將被顯示? –

+0

表單將您帶到Moneris託管的付費頁面。在發送給他們之前,我需要計算交易。 下拉菜單不一定非常重要我想..我只需要一些允許客戶選擇兩種形式提交選項,而不是單獨和單獨每個人的方式。 – user3345461

+0

哦,我明白了。 看着[這個SO問題](http://stackoverflow.com/questions/3008035/stop-an-input-field-in-a-form-from-being-submitted)看起來你可以使一些JavaScript/JQuery選擇哪些輸入被提交。您可以通過刪除其「名稱」值來創建1個表單並從中排除輸入。或者你可以製作兩種形式並有一些冗餘。 –

回答

1

將所有這些東西放在一個表單中。用複選框替換這些提交按鈕,然後創建一個新按鈕用於提交表單。在發佈表單的服務器上,請參閱提交的複選框的名稱,如果他們選中,查看費用的價格並從那裏總結總數。

請勿使用從隱藏字段發佈的「charge_total」值來總計您的總費用,這些費用可以在發佈之前在前端進行操作。

+0

Totaly沒錯!隱藏價值,或者我們可以獲得0 $的會員資格! :D – JajaDrinker

0

這是一個小代碼,向您展示如何在表單中設置選擇。

您將需要調整您的服務器端代碼以獲取選定的值。

<FORM method="post" action="cgi-bin/script.pl"> 

    <SELECT name="fonction"> 
     <OPTION name="charge_total" VALUE="2000">charge Total 200$</OPTION> 
     <OPTION name="Membership_Fee" VALUE="100">Member chip only 100$</OPTION> 

    </SELECT> 

    <INPUT type="submit" value="send"> 

</FORM> 

直播爲例:http://jsfiddle.net/G4rur/

0
<?php 
     if (isset($_POST['option'])) { 

     foreach ($_POST['option'] as $key => $value) { 
      echo $value.'<br>'; 
      echo $_POST['charge_total'][$key].'<br>'; 
      echo $_POST['ps_store_id'][$key].'<br>'; 
      echo $_POST['hpp_key'][$key]; 
      echo '<hr>'; 
     } 

     echo '<br>'; 
     } 
    ?> 
    <form action="" method="POST"> 
     <label> 
     <input type="checkbox" name="option[]" value="Session Fee"> 
     Session Fee - $200.00 
     <input type="hidden" name="charge_total[]" value="200.00" /> 
     <input type="hidden" name="ps_store_id[]" value="111" /> 
     <input type="hidden" name="hpp_key[]" value="222" /> 
     </label> 
     <br> 
     <label> 
     <input type="checkbox" name="option[]" value="Membership Fee"> 
     Membership Fee - $15.00 
     <input type="hidden" name="charge_total[]" value="200.00" /> 
     <input type="hidden" name="ps_store_id[]" value="333" /> 
     <input type="hidden" name="hpp_key[]" value="444" /> 
     </label> 
     <br> 
     <input type="submit" value="Pay"> 
    </form> 
+0

這是非常接近的,但是當您將它發送到Moneris頁面時,它仍然只需要ONE CHARGE TOTAL。 我想知道這是否需要使用Javascript?或者它是否命名了單獨標籤的值/名稱? – user3345461

+0

我張貼的方式,不需要JavaScript。該字段使用相同的名稱創建,將「[]」添加到名稱末尾,是什麼使其成爲數組。因此只需在php中添加索引即可訪問它們。選項[0],選項[1] ...你有多少。 – Carlos