【发布时间】:2022-01-12 01:56:20
【问题描述】:
我创建了这个网站并与 payfast 集成,它运行良好。但现在我想在 place order button 上执行另一个 php 脚本,它将详细信息放入 db 这是我的代码很长......我对Ajax或javascript一无所知!请帮忙
<form id="form1" action="payment.php" method="POST">
some stuff...
</form>
<?php
$htmlForm = '<form action="https://'.$pfHost.'/eng/process" method="post" id="form2">';
$htmlForm .= '<input type="submit" id="submit" name="submit" class="btn btn-primary btn-lg btn-flat" value="PLace Order" onclick="submitForms()"></form>';
?>
<?php
echo"
".$htmlForm."
</div>";
}
else{
echo '...';
}
?>
<script>
submitForms = function() {
document.getElementById("form1").submit();
document.getElementById("form2").submit();
}
</script>
$(function() {
$(".submit").click(function() {
var uid = $("#uid").val();
var prodtls = $("#prodtls").val();
var fname = $("#fname").val();
var amnt = $("#amnt").val();
var mail = $("#mail").val();
var dataString = 'uid='+ uid + '&prodtls=' + prodtls + '&fname' +fname + '&amnt' + amnt + '&mail' + mail;
if(time=='' || date=='')
{
$('.success').fadeOut(200).hide();
$('.error').fadeOut(200).show();
}
else
{
$.ajax({
type: "POST",
url: "payment.php",
data: dataString,
success: function(){
$('.success').fadeIn(200).show();
$('.error').fadeOut(200).hide();
}
});
}
return false;
});
});
我尝试了我找到的 ajax,但它从来没有用过。检查我的代码的末尾! 我需要的是 payment.php 将在后台执行,同时将用户引导到 payfast
我只想通过 AJAX 提交第一个。
【问题讨论】:
-
在 Stackoverflow,我们不提供教程,也不为您编写完整的功能,从无到有。如果您对 AJAX 一无所知,则需要花一些时间研究它 - 我们无法在一篇 Stackoverflow 帖子中教您。如果我们只是给你所有的代码,你还不够理解。相反,请显示您尝试过的 AJAX 代码并具体说明您遇到的问题,然后我们可以帮助您。另外,请确保您提供的代码是您的问题的minimal reproducible example - 我们不想要一堆无关紧要的东西。另见How to Ask。谢谢。
-
@ADyson 我已经编辑了代码,请检查上面。
-
谢谢。但这不包括您的 AJAX 尝试或任何有用的问题描述。请重新阅读所要求的内容。
-
@ADyson 我已经添加了我尝试过的 ajax,它执行但我没有在其他表单上获得价值
-
1) 您需要使用
preventDefault()来停止表单同时执行默认的回发行为(从而刷新页面) - 请参阅 api.jquery.com/event.preventdefault 。 2) 不清楚第一个表单是否也有一个带有class="submit"的按钮,因为你没有显示。无论如何,这段代码只是处理用户点击第二个表单上的提交。要使其也提交第一个表单,您需要编写第二个 AJAX 请求来提交该表单。 3)你需要摆脱onclick="submitForms()"位。
标签: javascript html jquery ajax forms