どうして私のコンタクトフォームは AJAX っぽく動かないのか?

Contact Form 7 は AJAX による送信をサポートしています。ですから、ちゃんと設定された Contact Form 7 のコンタクトフォームは下のデモフォームのように動くはずです。好きなように入力して送信を試してみてください。

    Your Name (required)

    Your Email (required)

    Your Message

    どうですか? あなたのサイトにあるコンタクトフォームと同じように動きましたか? 動き方が違うのに驚いた方もいるかもしれません。「私のは送信のときにいつもページをリロードするけど、このフォームはそうじゃない。」そんな風に思いませんでしたか?

    もしあなたのフォームがこのデモフォームのように動かないなら、Contact Form 7 の JavaScript があなたのサイトで機能していない可能性があります。いくつか考えられる原因を説明しましょう。

    • JavaScript のファイルがロードされていない

      これは近頃もっともよく見られる原因です。これは、JavaScript をキューに入れるのに必要な関数呼び出しが抜けている、間違ったテンプレートを使っているせいで発生します。必要な関数とは wp_head()wp_footer() で、大抵の正常なテーマではこれらはそれぞれ header.phpfooter.php に見られるはずです。

    • 他の JavaScript とのコンフリクト

      多くのプラグインやテーマでは独自の JavaScript の呼び出しが行われます。それらがまれに間違って作成されていることがあり、結果的に他のプラグインとコンフリクトします。こうしたケースでは多くの場合、Firefox のアドオン Firebug を使って、コンフリクトが発生したときの JavaScript のエラーを検出することができます。

    • HTML の構造が正しくない

      他の JavaScript もだいたいそうですが、Contact Form 7 の JavaScript は HTML の構造の上をたどりまた書き換えを行います。ですから、元の HTML の構造が正しくなければ、うまく機能できないのです。HTML バリデーターを使えばあなたの HTML が正しいかそうでないかをチェックできます。多種ありますが、ここでは W3C Markup Validation Service をお薦めしておきます。

    WordPress のお問い合わせフォームプラグイン。シンプル、でも柔軟。