2014-04-04 61 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