Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交表单后保持在同一页面,然后再次处理表单_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 提交表单后保持在同一页面,然后再次处理表单

Javascript 提交表单后保持在同一页面,然后再次处理表单,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我正在将Marketo(第三方营销软件)与我们网站上的一个工具集成 有一个表单在提交操作并将表单数据保存到Marketo后调用该操作“”: <form class="lpeRegForm formNotEmpty" method="post" enctype="application/x-www-form-urlencoded" action="http://info.a10networks.com/index.php/leadCapture/save"

我正在将Marketo(第三方营销软件)与我们网站上的一个工具集成

有一个表单在提交操作并将表单数据保存到Marketo后调用该操作“”:

<form
    class="lpeRegForm formNotEmpty"
    method="post"
    enctype="application/x-www-form-urlencoded"
    action="http://info.a10networks.com/index.php/leadCapture/save"
    id="mktForm_1225"
    name="mktForm_1225">

我也想使用相同的表单数据将其存储在本地数据库(MySQL)中。理想情况下,我希望在发送表单数据后加载相同的页面,并在本地存储该表单数据

是否有执行以下操作的方法:

  • 将调用表单操作,并将数据发送到外部 数据库
  • 加载回同一页面并将此表单数据本地存储到数据库中(能够使用
    $\u POST

  • 我正在使用PHP和纯javascript进行此集成。请告知。

    您可以使用ajax调用自己的脚本,然后将表单提交给marketo

    基本上,如果您希望在数据发送到远程服务器进行处理之前捕获数据,那么您将首先捕获数据,然后允许表单提交,然后再进行预期的处理

    这里我们捕获表单的点击,然后确保通过向其添加类来禁用按钮。这样就不会让用户在处理完成之前进行多次单击。当它收集完信息并发送到php页面时,它会将表单提交给它的
    action
    属性

    在本例中,我从name属性设置为
    firstName
    的输入中获取该值,该值将发送到我的PHP脚本,因为我选择了
    POST
    类型,所以我可以在我的as中看到它

    $\u POST['firstName']

    调试post参数以查看数据的外观,因此在接收PHP脚本中

    echo'',print\r($\u POST,true),''

    <script type="text/javascript">
    
    $(document).ready(function() {
    
    
      $('.formSubmitButton').on('click', function(e) {
    
        e.preventDefault();
        if (!$('.formSubmitButton').hasClass('submitted'))
          {
            // disable the form to prevent multple clicks
            $('.formSubmitButton').addClass('submitted');
    
            $.ajax('/path/to/my/db/script', {
    
              type: 'post',
              data:{
                 firstName: $('[name="firstName"]).val(),
                 lastName: $('[name="lastName"]).val()
              }     
            }).done(function(data) {
    
                $('.parentForm').submit();
    
                // enable the form
                $('.formSubmitButton').removeClass('submitted');
            });
          }
          return false;
      });
    });
    
    </script>
    
    这将显示捕获的数据

    
    $(文档).ready(函数(){
    $('.formSubmitButton')。在('click',函数(e)上{
    e、 预防默认值();
    如果(!$('.formSubmitButton').hasClass('Submited'))
    {
    //禁用表单以防止多次单击
    $('.formSubmitButton').addClass('Submited');
    $.ajax(“/path/to/my/db/script”{
    键入:“post”,
    数据:{
    firstName:$('[name=“firstName”]).val(),
    lastName:$('[name=“lastName”]).val()
    }     
    }).完成(功能(数据){
    $('.parentForm').submit();
    //启用窗体
    $('.formSubmitButton').removeClass('Submited');
    });
    }
    返回false;
    });
    });
    
    很抱歉,我以前没有使用过ajax。我理解您的回答,但我不知道如何通过ajax传递数据。您是否可以分享一个说明上述场景的编码示例。这肯定对我有帮助。谢谢非常感谢你的解释和耐心。我用一个小例子尝试了你的方法,但我只能通过一个url发送数据,而不能通过第二个url。你能帮个忙吗。