我正试图制定一个“选择你的电子邮件计划”'我网站上的页面 - https://godesignweb.co.uk/e-mail-services/monthly-email/&我在提交表单时遇到问题,然后根据他们选择的包裹重定向到特定的PayPal页面。
正如您从网站上看到的那样,它几乎就在那里,根据您选择的包,它会在页面底部显示不同的内容。(我想要包含一个重定向用户的提交按钮) )。
我目前有
<input type="submit" form="email" value="send">
在联系表单7表单之外,并且在Pro计划中有效(如果您单击它,它会提交表单。
无论如何,我可以为3个按钮调用3个不同的功能;
1)提交表格(包括检查通常做的验证) 2)将用户重定向到paypal页面
干杯
答案 0 :(得分:1)
更新回答:
根据您对我的回答的评论,如果您使用三个不同的提交按钮,可以尝试以下内容:
1。)为每个SUBMIT按钮分配一个唯一的名称:
<!-- button in starter form -->
<input type="submit" name="submit-starter" form="email" value="Send"/>
<!-- button in pro form -->
<input type="submit" name="submit-pro" form="email" value="Send"/>
<!-- button in advanced form -->
<input type="submit" name="submit-advanced" form="email" value="Send"/>
2。)在PHP方面:
if (isset($_POST['submit-starter'])) {
$plan= 'starter';
$priceMonthly= 3.99;
} elseif (isset($_POST['submit-pro'])) {
$plan= 'pro';
$priceMonthly= 5.99;
} elseif (isset($_POST['submit-advanced'])) {
$plan= 'advanced';
$priceMonthly= 7.99;
}
// create the Paypal form
?>
<form name="_xclick" action="https://www.paypal.com/de/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="me@mybusiness.com">
<input type="hidden" name="currency_code" value="GBP">
<input type="hidden" name="item_name" value="<?php print $plan; ?>">
<input type="hidden" name="amount" value="<?php print $price; ?>">
<input type="image" src="http://www.paypal.com/en_GB/i/btn/x-click-but01.gif" border="0" name="submit" alt="Pay with PayPal">
</form>
- 上一个回答 -
我不确定我是否认为你是对的,因为我只是看到一个(提交)按钮而不是三个按钮所以我希望我的回答没有误导或在你的场景中没有意义:
我认为:
以下代码仅处理前端控件,您应该添加第二个基于服务器的验证,以确保没有人注入/操作您的前端表单代码。
不使用标准提交按钮,而是将其更改为:
<input type="button" onclick="formInspectAndSubmit()" value="send"/>
并为您的计划添加表单变量
<input type="hidden" id="input-plan" name="input-plan"/>
您的FRONTEND validation
功能应如下所示:
function formInspectAndSubmit() {
// validation stuff ...
// retrieve the chosen plan
var plan= $('.active').prop('id');
switch (plan) {
case 'starter':
// set hidden parameters for starters
$('#input-plan').val('starter');
break;
case 'pro':
// set hidden parameters for pro
break;
case 'advanced':
// set hidden parameters for starters
break;
}
// set POST variables based on above plan and redirect to validation page; this should then forward to Paypal checkout page with price defined by chosen plan
$('#email').submit();
}