以下のコードを使用してフォームを送信し、aweberメーリング リストに登録します (addlead.pl は単なる登録スクリプトです)。これが私が達成したいことです: ユーザーはフォームを送信します-それはサインアップフォームになるため、(多くのフォームフィールドのうちの2つを使用して) Weber電子メールリストに彼を登録し、ユーザーはフォームから投稿された情報を含む通常のフォームアクションURLにリダイレクトされます(全分野)
$('#redeemform').submit(function() {
var nameVal = $(this).find('input[name="custname"]').val();
var emailVal = $(this).find('input[name="custemail"]').val();
$.post('http://www.aweber.com/scripts/addlead.pl', {
meta_web_form_id: '1234',
meta_split_id: '',
listname: 'listname',
redirect: '',
meta_adtracking: 'newsletter',
meta_message: '1',
meta_required: 'name,email',
meta_tooltip: '',
email: emailVal,
name: nameVal
});
alert("thank you"); //<<magic line
return true;
});
コードは動作しますが、マジック ライン - "alert "thank you" - でのみ動作します - このラインがないと、デフォルトのフォーム アクションにのみ送信され、aweber に登録されません。フォームを送信して (true を返す) 同時に、このような POST リクエストを送信すると、サイトの更新が速すぎて、リクエストの 1 つが無視されることがわかりました。 質問は、アラートなしでそれを行う方法です/この行で一定の遅延が発生します。それのためのある種の派手なコマンドはありますか?