2016-11-18 14 views
4

あなたは見ましたか?それらの
submit a form inside another formPHP Javascriptシングルフォームコール2つのフォームに送信

Submitting form data to two locations using Javascript and PHP?

どれも実際に質問に答えるん。

シナリオを説明します。名前、電子メール、電話番号を要求するフォームがあり、2つの異なるベンダーの2つの場所に送信する必要があります。

1)Aweber 2)当社は

一つの可能​​性は、コードのJavascriptの作品を作成することである人々は、それはそれは次のようになります(二つの異なるブラウザウィンドウ内の2つのフォームの呼び出しに送信し「送信」をクリックしたときに、私のメソッド)

2番目の可能性は、最初にAweber(autorespnder)に送信して、その変数をカスタムPHPページに渡すことです。 $ _GETで変数を取得し、自動フォーム提出に渡して、それらを第2フォームに渡して会社に渡します。例えば

- 私はform.phpする最初のAweberにフォームを送信してから戻って結果を渡すことができます。

$name = $_get['name']; 
$email = $_get['email']; 
$phone = $_get['phone']; 

何フォームの残りの部分はカールやJavaScriptとのように見えるのでしょうか?

私は会社の投稿フォームに変数を渡そうとしました。これはGETコマンドを受け付けません.CURLを使ってフォームをPOSTする方法がない限り、CURLはおそらく動作しませんので、CURLはおそらく動作しません。

誰でも、エンドユーザーには見苦しいですか?

どのようなアイデアがありますか?前もって感謝します!

+1

理想的なソリューションは、当社がサニタイズデータを送信することAPIへの呼び出しを行うから受信を処理した後APIとAweberを生産する可能性があります。 – marekful

+0

私は理解していますが、理想的ですが、まだAPIを持っていません。他のアイデア? – Viktor

+1

Aweberでフォームを処理するPHPスクリプトからの投稿要求を送信するだけです。cURLを使用することも、PHPからHTTPリクエストを送信するその他の方法がいくつかあります。 – marekful

答えて

2

実際のデータがなくても実際のフォームを呼び出す必要はありませんが、これはAJAXとjQueryでどのように行うかについての基本的な考え方です。

*私はポストではなく、GETとフォーム変数を渡す方法を示すための答えを更新し

を更新しました。

HTML

<form id="test-form"> 
    <input type="text" id="name" name="name"/> 
    <input type="submit" value="submit"/> 
</form> 

<p class="response1"> 
    Response 1 goes here 
</p> 
<p class="response2"> 
    Response 2 goes here 
</p> 

jQueryの

$("#test-form").on("submit", function(e) { 
    e.preventDefault(); //stops the form from actually submitting 
    var root = 'https://jsonplaceholder.typicode.com'; 

    $.ajax({ 
    url: root + '/posts/1', 
    method: 'POST', 
    data: $("#test-form").serialize() 
    }).then(function(data) { 
    if(data) { 
     $(".response1").text(data.title); 
     $.ajax({ 
      url: root + '/posts/2', 
      method: 'POST', 
      data: $("#test-form").serialize() 
     }).then(function(data) { 
      if(data) { 
      $(".response2").text(data.title); 
      } 
     }); 
    } 
    }); 
}) 

私はAPIを持っていないので、明らかに、あなたはURLの正しく設定され、ここで起きていないポストのデータを渡す必要があるだろう投稿データを受け入れるクエリ最初のフォームが送信されると、データは2番目のフォームに送信されます。どのようにデータを扱うかは、サーバーからの応答が何であるかによって異なります。

フィドル:https://jsfiddle.net/calder12/t0fos3kk/1/

+0

あなたのスクリプトがどのようにトリックをするかを見ています。 POSTを介して2つの異なる外部サイトにフォームを提出する「回答はここにあるセクション」に何を入れますか? 例えば最初のポストコールがアクションです=「https://www.aweber.com/scripts/addlead.pl」 第二のポストコールで=「HTTPS://companyform/form.php」 2回目のポストコールでは、コマンドライン変数は受け付けません。これはPOSTだけを探します。 – Viktor

+0

POST呼び出しの構文は何ですか?これらは外部のウェブサイトへのものなので、照会するAPIはありません。別のPOSTリクエストを各サイトに提出する必要があります。 – Viktor

関連する問題