2014-04-21 3 views
0

Google 웹 사이트에있는 Marketo (타사 마케팅 소프트웨어)와 Google 도구 중 하나를 통합합니다.양식을 제출 한 후 동일한 페이지에 머물러서 양식을 다시 처리하십시오.

조치를 호출하는 형태가 "http://info.a10networks.com/index.php/leadCapture/save"그것은 제출하고 양식 데이터를 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)도. 이상적으로는 양식 데이터를 보낸 후에 동일한 페이지를로드하고이 양식 데이터를 로컬로 저장하려고합니다.

다음과 같은 작업을 수행 할 수있는 방법이 있나요 :

  1. 양식 조치가 호출되고 데이터가
  2. 로드 다시 외부 데이터베이스에 동일한 페이지를 보내로 로컬이 양식 데이터를 저장한다 데이터베이스 ($_POST 사용할 수)

나는이 통합을 위해 PHP와 일반 자바 스크립트를 사용하고 있습니다. 제발 조언.

답변

2

자신의 스크립트에 대한 ajax 호출을 사용하여이 작업을 수행 한 다음 양식을 marketo에 제출할 수 있습니다.

데이터를 처리하기 위해 원격 서버로 전송하기 전에 데이터를 캡처하려면 먼저 데이터를 캡처 한 다음 양식을 제출하고 이후에 원하는 처리를 수행하십시오.

여기에서 양식의 클릭을 캡처 한 다음 클래스를 추가하여 버튼을 비활성화하십시오. 따라서 처리가 완료되기 전에 사용자가 여러 번의 클릭을 할 수 없게됩니다. 그것의 정보 수집을 완료하고 PHP 페이지에 그것을 보내면 양식을 제출 그것 action 속성. 내가 firstName로 설정 이름 속성이 입력의 값을 잡아이 예에서

,이 값은 내 PHP 스크립트를 통해 전송됩니다 내가 POST의 유형을 선택했기 때문에 내가

로 내에서 볼 수 있습니다

$_POST['firstName']

데이터가 있으므로이 당신의 수신 PHP 스크립트의 모습을 볼 수 귀하의 게시물 paramters를 디버깅하는

echo '<pre>', print_r($_POST, true), '</pre>';

그러면 캡처 된 데이터가 표시됩니다.

<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> 
+0

죄송합니다. 전에 아약스에서 일하지 않았습니다. 내가 대답 한 것을 이해했지만 아약스를 통해 데이터를 전달하는 법을 모르겠습니다. 위 시나리오를 보여주는 공유 할 수있는 코딩 예제가 있습니까? 그게 분명 나를 도울 것입니다. 감사!! –

+0

설명과 인내심에 감사드립니다. –

+0

[link] (http://stackoverflow.com/questions/23231609/send-form-data-using-jquery-ajax-and-html-form-action)에 게시 한 작은 예제를 사용하여 접근 방법을 시도했지만 이 데이터는 하나의 URL 만 보낼 수 있었지만 두 번째 URL은 보낼 수 없었습니다. 좀 도와 주실 수 있습니까? –

관련 문제