将onSubmit中的PHP函数返回值用作HTML表单中的变量
为了问题的简单性,我有这样一个简单的问题:将onSubmit中的PHP函数返回值用作HTML表单中的变量,php,html,forms,action,onsubmit,Php,Html,Forms,Action,Onsubmit,为了问题的简单性,我有这样一个简单的问题: <?php $paymentResult = 'Unknown'; function processPayment(){ // Process all payment values from form1 and retrieve the result of the transaction. $GLOBALS['paymentResult'] = 'Your payment was completed
<?php
$paymentResult = 'Unknown';
function processPayment(){
// Process all payment values from form1 and retrieve the result of the transaction.
$GLOBALS['paymentResult'] = 'Your payment was completed successfully!';
}
?>
<form name="form1" method="POST" onsubmit="return processPayment();" action="<?php echo 'checkout_s.php?result=' . $paymentResult; ?>">
<!--Additional Credit Card Payment Controls-->
<input type="submit" value="Process Payment">
</form>
processPayment方法显然有额外的消息和逻辑,以防支付失败等等
我的问题是,无论我在processPayment函数中将$paymentResult设置为什么,它总是将'Unknown'作为
回显$_请求['result']时的post变量;关于checkout_.php
我很有信心我正确地使用了全局变量。有人能就如何正确修改代码或提供其他方法提供建议吗?我不想把信用卡信息作为post变量传递,所以我在同一个页面上处理它。我所要做的就是将事务的结果传递到操作页面。您的onsubmit中有问题。onsubmit上的值应该是关于javascript的,但您将processPayment php函数放在其中 PHP函数应该在PHP声明中。将onsubmit值更改为
onsubmit="return <?php processPayment(); echo $paymentResult; ?>;"
啊,太蠢了。有时候一个人只需要另一双眼睛。谢谢你,大卫。很高兴我能帮忙。有时会忽略一些小错误。您是否真的用相同的名称命名javascript和PHP函数,或者您是否混淆了客户端和服务器端代码,并假设onsubmit=return processPayment会以某种方式触发PHP函数?可能是重复的,它们是相同的名称。