どうして私のコンタクトフォームは 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 をお薦めしておきます。

Just another contact form plugin for WordPress. Simple but flexible.