1

DNN (DotNetNuke) サイト内から mailchimp フォームを送信しようとしています。通常、フォーム タグを削除し、送信ボタンの onclick イベントに JavaScript を配置するだけですこれは機能し、ここで確認できます。

しかし、誰かがサイトに来たときにこのフォームをポップアップさせたいので、このポップアップモジュールを使用しています。そして、この構成では機能しません。指定された URL にフォームを送信しますが、フォーム データは渡されません。このページはこちらです。

いくつかの観察:

  1. ページのソースを表示すると、ポップアップ フォームは form タグ内にありますが、this.form はスクリプトで null を返します。
  2. Chrome で送信ボタン要素を調べると、html フォームがフォーム タグの外側にあることがわかります。
  3. ページの読み込み時に DOM 要素を移動するこのポップアップ モジュールには、JavaScript が含まれている可能性があります。

入力ボタンの送信時に呼び出す js 関数を作成しました。コードは次のとおりです。

function submitSubscription(clickedElement){
    $form = $('body').find('form');
    $form.attr('action', 'http://InciteResults.us2.list-manage1.com/subscribe/post?u=6d82b6a028c94cc75005eb4fe&id=1c7ceabac4');
    $form.submit();
}

注: この関数 clickedElement.form では、null が返されます。

4

1 に答える 1