在页面上提交表单而不刷新

时间:2017-08-26 07:26:24

标签: javascript php jquery html ajax

我的页面上有2个表单,一个注册表单和一个付款,付款表单只是一个按钮,用户付款并在付款有效时返回一个令牌(付款是通过外部服务完成的,所以必须是这样)但是只要付款成功,它就会提交表单并刷新页面,因此从注册表单中删除所有数据。

我的问题是我希望点击按钮付费,如果成功,则注册表单的提交按钮变为启用(无论何时设置了付款代币),而不刷新页面。我知道我可能不得不使用jQuery或AJAX但无法找到解决方案。任何帮助非常感谢!

注册表格:

<form action="signup.php" id="signup"> <input type="text" name="some input">

接着是更多输入......

<input type="button" name="Pay Now"> <input type="submit" name="Submit"> </form>

付款:

<form action="#" id="payment"> <script></script></form>

因此,当用户到达注册的最后部分时,最初只有付费按钮显示在此表单中,这将显示要付费的按钮(其中包含提供付款方式的脚本),之后是令牌和其他变量被发布(仅关注令牌),当它完成时,我需要注册表单以查看它已被发布并启用提交按钮以发送注册表单。

2 个答案:

答案 0 :(得分:1)

通过ajax,你可以做到

 $(window).load(function () {

     setInterval(function(){ 
    $.ajax({

            url: "your url", 

            success: function(result){

                (after load what you have to do)                 

            } });   


    }, 4000);

4000表示每4000毫秒将自动重新加载您的页面。

答案 1 :(得分:0)

我认为event.preventDefault()是您在制作AJAX请求时所寻找的。

$(document).ready(function () {
$('#myform').on('submit', function(e) {
    e.preventDefault();
    $.ajax({
        url : $(this).attr('action') || window.location.pathname,
        type: "GET",
        data: $(this).serialize(),
        success: function (data) {
            $("#form_output").html(data);
        },
        error: function (jXHR, textStatus, errorThrown) {
            alert(errorThrown);
        }
    });
});
});