We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 10268
    • 4 Posts
    はじめまして。
    MODx導入を考えていて、まずはテストサーバーでいろいろと試している初心者です。
    eFormでのメール送信で早速躓いてしまいまして、困っています。
    どなたかお時間がありましたら助けてください :’(

    以下のように指定していますが、送信ボタンをクリックしても、
    カレントページが再度読み込まれるだけで何も起こりません。
    自分なりに調べてみたのですがどこが原因か分からないのです。

    スニペットコール
    [[eForm? &formid=`contactform` &tpl=`contact` &report=`contactmail` &thankyou=`thankyou` &protectSubmit=`0` &to=`*****@mail.com`]]


    {{contact}}
    <div id="contact">
    <h2>お便りはこちらから</h2>
    <p><span style="color:#900;">[+validationmessage+]</span></p>
    <form method="post" action="[~[*id*]~]">
        <input type="hidden" name="formid" value="contactform" />
        
        <p><label accesskey="n" for="Name">Name</label>
        <input type="text" name="Name" maxlength="60" /></p>
    
        <p><label accesskey="e" for="email">Email(省略可)</label>
        <input type="text" name="email" maxlength="40" /></p>
    
        <p><label accesskey="c" for="comments">Comments</label>
        <textarea cols="15" rows="3" name="comments" eform="Comments:html:1">ひとこと</textarea></p>
    
        <p><input type="submit" name="submit" value="送信"></p>
    </form>
    </div>


    {{contactmail}}
    <br />
    [+Name+] さんからのメッセージです。<br />
    <br />
    <br />
    --------------------------------------------------<br />
    
    <br />
    おなまえ:    [+Name+]<br />
    メールアドレス: <a href="[+email+]">[+email+]</a><br />
    <br />
    メッセージの内容:<br />
    [+message+]<br />
    <br />
    --------------------------------------------------<br />
     お問い合わせ日:[+postdate+]<br />
    --------------------------------------------------


    {{thankyou}}
    <div id="contact">
    <h2>送信完了</h2>
    <p>[+Name+]さん、メッセージをありがとうございます!</p>
    </div>



    環境は
     Apache1.3.37
     PHP4.4.7
    です。
    ご指摘いただけると助かります。
    よろしくお願いします。
      • 19033
      • 892 Posts
      こんにちは。

      [[eForm? &formid=`contactform` &tpl=`contact` &protectSubmit=`0`]]

      とし、tplは、そのまま利用させて頂きました。

      送信ボタンをクリックするとデフォルトのサンキューメッセージが表示されます。
      ちょっとこれだけの構成で試してみて頂けますか。

      それと、eFormが出力するソースで、「<form method="post" action="[~[*id*]~]">」の
      部分はどうなっていますでしょうか。

      こちらの環境はphp4.4.7/ eForm 1.4.4 ISO-2022-JP対応版 /MODx096 です。
        • 10268
        • 4 Posts
        MEGUさん
        迅速ななレスありがとうございます!

        まず環境について追記を。
        eForm 1.4.4 ISO-2022-JP
        Modx 0961
        です。

        [[eForm? &formid=`contactform` &tpl=`contact` &protectSubmit=`0`]]
        こちらの構成で試してみましたが、やはり上手くいかないようです。

        それから、ご指摘の部分のソースを見ると
        <form method="post" action="/">
        このようになっています。
        もしかするとここがまずいのでしょうか…?
          • 19033
          • 892 Posts
          こんにちは。
          確認して頂いてありがとうございます。

          それから、ご指摘の部分のソースを見ると
          <form method="post" action="/">
          このようになっています。
          もしかするとここがまずいのでしょうか…?

          そうですね。。それが原因のようです。本来ならば、[~[*id*]~]としているわけですから、
          そのページのURIが挿入されるはずなのです。たとえば、以下のようです。
          <form method="post" action="modxsample/efsample01/364.html">


          ふたつテストをお願いしたいのですが:
          1. eFrom のスニペットを書いているドキュメントのどこでも良いので、[~[*id*]~]と書いたらどういう出力結果になるでしょうか。
          2. tpl チャンクの「action="[~[*id*]~]"」の「[~[*id*]~]」の代わりに直接そのページのURIを書いたら動作するでしょうか。
           ↑念のため、http://~からの絶対アドレスを入力してみて頂けますか?
            • 10268
            • 4 Posts
            テストしてみました。

            ドキュメントに直接[~[*id*]~]とかくと、
            「index/home.html 」や「index/music/」
            のように正しく表示されました。
            ちなみに、スニペットコールはテンプレート内に記述し、
            そのテンプレートはトップページを含む数ページに適用していますが、
            [~[*id*]~]が「/」となっていたのは、トップページのみでした(失礼しました)。
            <form method="post" action="index/link.html">

            のように正しく表示されているようなページでも、やはりフォームは動きません…
            http://からの絶対パスを指定しても同様でした。

            SEO Strict URLs を併用しているのですが、こちらも関係しているでしょうか?
              • 19033
              • 892 Posts
              こんにちは。確認ありがとうございます。

              「SEO Strict URLs」もある条件下では問題になることもあるのですが、とりあえず、おいておくとして。。

              スニペットコールをnon-cache形式にしてみて頂けますか?以下の形式です。
              [!eForm? &formid=`contactform` &tpl=`contact` &protectSubmit=`0`!]
              


              追記:
              テストする前に、一度、サイト>キャッシュのクリアを行って下さい。
              その後、目的のページに再アクセスして(リロードでなく)、送信をクリック。です。
                • 10268
                • 4 Posts
                ノンキャッシュ形式でのコールではうまく表示させることが出来ました

                まだどうしてこうなったのか良く理解できていない部分が大きいので
                もう少し頑張って研究してみます smiley

                アドバイスを頂き本当に助かりました。ありがとうございます。
                  • 19033
                  • 892 Posts
                  こんにちは。

                  実は私も良くわかってなかったのですが。。 :’(
                  自分のサンプルフォームでは、[!~!]を使っていました(ドキュメントのキャッシュ可)。
                  http://www.liolion.info/modx/modxsample/efsample01/

                  ドキュメントのキャッシュが不可の場合は[[~]]の形式で良いようです。

                  それで先ほどのテストでは、
                   ・ドキュメントのキャッシュ可
                   ・および、スニペットコール[[~]]の形式
                  でテストしていたのですが、非公開ドキュメントでテストしていまして、
                  結果的にキャッシュされない状態でテストしていたため...?かと思います。
                  紛らわしくしてしまいすみません。。